1.django中路由的执行流程
-
查找全局的urls.py。
-
先后顺序逐一匹配。
-
匹配到停止。
-
没有匹配则异常处理。
2.django支持的三种路由表达式
(1)精确字符串格式
例如:articles/2019/
(2)转换格式
例如:articles/<int:year>/
(3)正则表达式
例如:re_path(articles/([0-9]{4})/)
代码:
(1)先在项目的urls.py文件中的urlpatterns加上自己定义的路由。
# demo\urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('app1/', include('app1.urls'))
]
(2)创建需要引入的app1下的urls.py文件。
# app1\urls.py
from django.urls import path
from app1 import views as app1_views
urlpatterns = [
path('articles/2019', app1_views.article)
]
(3)编写需要的views.py文件。
# app1\views.py
from django.http import HttpResponse
# Create your views here.
# 不传参数
def article(request):
return HttpResponse('Hello world')
# 传递参数
'''
def article(request, year):
content = 'The year is %s' % year
return HttpResponse(content)
'''
运行结果: