略去部署django环境内容,使用版是2.0.9。
- 开始项目
$ django-admin startproject mysite
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
- 启动
python manage.py runserver 8080
- 建app
$ python manage.py startapp polls
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
- URLConf
polls/urls.py
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ]
mysite/urls.py
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('polls/', include('polls.urls')), path('admin/', admin.site.urls), ]
include()函数:使用include()引用其他URLconf。每当Django遇到include()时,它会将剪掉匹配URL的部分,并将剩余的字符串发送到包含的URLconf,以便进一步处理。admin.site.urls 模式外,当使用包含其他URL模式时,应使用include()。
path()函数:两个必填参数(route/view),两个可选参数(kwargs和name)。
route:是包含URL模式的字符串。在处理请求时,Django从urlatterns中的第一个模式开始,然后沿着列表向下移动,将请求的URL与每个模式进行比较,直到找到匹配的URL为止。
view:当Django找到匹配模式时,它会调用指定的view函数带有HttpRequest对象作为第一个参数,来自路由中的任何“ captured”值都作为关键字参数。
kwargs:传给目标view的字典参数。
name:命名URL,从而可以从Django的其他地方直接引用它。