二、路由分配及模板渲染

1.path和re_path

1.1 path(route, views, kwargs=None, name=None)

1.path('detail/<id>/', views.detail) url中传递参数
2.路径转换器:<转换器:变量名>
3.path('detail/<int:year>-<int:month>-<int:id>/', views.detail),
   path('detail/<int:year>/<int:month>/<int:id>/', views.detail),

1.2 re_path(route, views, kwargs=None, name=None)

re_path(r'student/(?P<year>\d{4})-(?P<month>\d[0-9]|1[0-2])-(?P<id>\d+)/', views.student)

1.3 include

要实现访问app
# CRM/urls.py
path('teacher/', include('teacher.urls')),

1.4 kwargs

path('teacher/<name>/', views.teacher, kwargs={'name': '飞'}),
当变量名相同时,kwargs生效

1.5 name

return redirect(reverse('index')) # 动态解析url路径      #redirect 主要用于跳转界面

1.6 app_name

return redirect(reverse('teacher:index')) # app_name:name    # reverse主要用于解析

2.django模板路径配置

'DIRS': [os.path.join(BASE_DIR, 'templates')],

3.django模板渲染方式

return render(request, 'teacher/index.html')    # 渲染的模板放在teacher下名为index.html    render用于渲染

猜你喜欢

转载自www.cnblogs.com/zhuangxiulin/p/10841825.html