Django urls 路由

2023-05-12,,

写url和视图的的对应关系

from django.conf.urls import url

from django.contrib import admin

from app名 import views

urlpatterns = [

# FBV 写法
url(r'^admin/', admin.site.urls), # admin 后台管理
# 对应 视图中的函数
url(r'login/', views.login, name='login'),
# 正则分组
url(r'del_(student|teacher|class)/(\d+)/', views.delete, name='del'),
# 正则命名分组
url(r'^data/(?P<aaa>\d{5})/(?P<bbb>\d{2})/$', views.data, name='data'), # name='login' url命名 用于 地址的反向解析
# CBV 写法
# 在views.py文件中 写一个类 继承 View 其中写 get post 方法
# 导入方法from django.views import View
url(r'index/', views.类名.as_view(), name='index'), ]

url路由分发

from django.conf.urls import url, include

from django.contrib import admin

from crm import views

urlpatterns = [
url(r'^admin/', admin.site.urls), url(r'^show/', include('app名.urls文件名', namespace='show')),
# namespace='show' 命名空间
]

URL的命名和反向解析

普通url

1. 命名
url(r'^publisher_list/', views.publisher_list, name='publisher'),
2. 使用
视图中使用:
1.from django.urls import reverse
reverse('publisher') ——》 ‘/app01/publisher_list/’
模板中使用:
{% url 'publisher' %} ——》 ‘/app01/publisher/’ 2.使用分组 url(r'^blog/(\d{4})/([1-9]{2})/$', views.blog, name='blog') 视图中使用 reverse('blog',args=('2018','12')) ‘/blog/2018/12/' 模板中使用 {% url ’blog‘ ’2018‘ ’12‘ %} 3.使用命名分组 url(r'^blog/(?P<year>\d{4})/(?P<month>[1-9]{2})/$', views.blog, name='blog') 视图中使用 reverse('blog',args=('2018','12')) ‘/blog/2018/12/' reverse('blog', kwargs={'month': '12', 'year': '2018'}) 模板中使用 {% url 'blog' '2018' '12' %} ——》 ‘/blog/2018/12/' {% url 'blog' year='2018' month='12' %} ——》 ‘/blog/2018/12/' {% url 'blog' month='12' year='2018' %} ——》 ‘/blog/2018/12/'

Django urls 路由的相关教程结束。

《Django urls 路由.doc》

下载本文的Word格式文档,以方便收藏与打印。