@[toc]
一,框架介绍
Django框架介绍
Django是一个高级的Python Web框架,它鼓励快速开发和清洁,务实的设计。
由经验丰富的开发人员构建,它负责Web开发的许多麻烦,因此您可以专注于编写应用程序,而无需重新创建*。
它是免费的和开源的。
被官方称之为完美主义者的Web框架。
Django可以更快地构建更好的Web应用程序并减少代码。
官方网址:https://www.djangoproject.com/
① Django框架的特点:
快速开发:Django的宗旨在于帮助开发人员快速从概念到完成应用程序。
安全可靠:Django认真对待安全性,帮助开发人员避免许多常见的安全错误。
超可伸缩性:Web上的一些最繁忙的网站利用了Django快速灵活扩展的能力。
二,Django安装
方法一: 打开电脑命令提示符使用pip安装:
输入
pip install django
方法二:使用编译器安装。以pycharm为例,在python interpret 里搜索Django,安装。
三,Django 框架建立
方法一:在命令提示符中,进入桌面:cd Desktop
常见Django框架:
django-admin startproject myweb
注:myweb为文件名称。
方法二:使用编译器开发,以pycharm为例,在Local中输入django-admin startproject myweb
会生成文件名为myweb的Django框架文件,如图所示:
四,创建一个应用程序
Django自带一个实用程序,可以自动生成应用程序的基本目录结构,因此您可以专注于编写代码而不是创建目录。
要创建您的应用程序,请确保您与目录位于同一目录,manage.py 并键入以下命令:
python manage.py startapp myapp
会生成文件名为myapp的应用程序文件,如图所示:
五,运行开发服务器
python manage.py runserver
命令行中看到以下输出:
Performing system checks...
System check identified no issues (0 silenced).
You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
June 23, 2022 - 09:22:35
Django version 2.2.13, using settings 'demo.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
以上说明已经开始使用Django的开发服务器,这是一个纯粹以Python编写的轻量级Web服务器。 我们将其与Django结合在一起,因此您可以快速开发,而无需处理配置生产服务器(如Apache),直到您准备好生产。
默认情况下,该runserver命令在端口8000的内部IP上启动开发服务器。当然也可以指定端口开启服务,如8080端口:python manage.py runserver 8080
六,第一个视图
打开文件myapp/views.py 并放入以下Python代码:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the myapp index.")
要在myapp目录中创建一个URLconf,创建一个名为urls.py。您的应用目录应该如下所示:
└── myapp
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
├── urls.py
└── views.py
在myapp/urls.py文件中包含以下代码:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
下一步是将根URLconf指向myapp.urls模块。 在 myweb/urls.py添加一条import用于django.conf.urls.include和插入include()的urlpatterns列表,所以必须:
from django.contrib import admin
from django.urls import include,path
urlpatterns = [
#path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')),
]
其中include()函数允许引用其他URLconfs。请注意,该include()函数的正则表达式 没有$(字符串匹配字符),而是尾部的斜杠。 每当Django遇到时 include(),它会排除与该点匹配的任何部分,并将剩余的字符串发送到随附的URLconf进行进一步处理。
背后的想法include()是使即插即用的URL变得容易。由于民意调查是在自己的URLconf(myapp/urls.py)中,它们可以被放置在“/ myapp /”下面,或者在“/ fun_myapp /”下面,或者在“/ content / myapp /”或其他路径根目录下,工作。
注:include()当您包含其他网址格式时,您应始终使用。 admin.site.urls是唯一的例外。
现在已将index视图连接到URLconf中。让它验证它的工作,运行以下命令:python manage.py runserver 0.0.0.0:8000
在浏览器中转到http://localhost:8000/myapp/,您应该看到文本Hello, world. You're at the myapp index.
七,path() 函数介绍
Django path() 可以接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name,接下来详细介绍这四个参数。
route: 是包含URL模式的字符串。在处理请求时,Django从第一个模式开始,
urlpatterns然后沿列表向下移动,将请求的URL与每个模式进行比较,直到找到匹配的URL。
view: 用于执行与正则表达式匹配的 URL 请求。
kwargs: 视图使用的字典类型的参数。
name: 用来反向获取 URL。