Django之路由系统
Posted fangyi0328
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django之路由系统相关的知识,希望对你有一定的参考价值。
1. 单一路由对应
url(r‘^index$‘, views.index)
2. 基于正则的路由
/edit-user/(w+)/ ? def edit_user(request,a1) 正则表达式 函数里面需要在传一个参数 /add-user/(?P<a1>w+)/ ?def add_user(request,a1) 关键字 PS: # url(r‘^edit/(w+)/(w+)/‘, views.edit), #需要两个参数,需要按照顺序传参 #url(r‘^edit/(?P<a2>w+)/(?P<a1>w+)/‘, views.edit),按照名称放置 关键字
终止符:^edits$
伪静态:url(r’^edit/(w+).html$’,views.edit)
3.路由分发
urls.py url(r‘^app01/‘,include(‘app01.urls‘)), 总路由: url(r‘^‘,default), url不存在的话 可以默认写 or 跳转到index 的路径下 url(r‘^‘,views.index), #路由默认不写 或者路由错误 直接执行index的函数 app01.urls.py url(r‘^index.html$‘,views.index),
4.根据名称可以反向生成URL
1 views.py: 2 from django.urls import reverse #根据名字反转成url 3 def index(request,a1): #一一对应关系 4 user_list=[ 5 "alex","eric","tony" 6 ] 7 v=reverse("n1",args=(1,)) #args= 数字自己规定 写的是1 url也会体现出来 8 and 9 v=reverse("n1",kwargs={‘a1‘:11111}) 10 print(v) 11 return render(request,‘index.html‘,{"user_list":user_list}) 12 urls: 13 url(r‘^index/(d+)/‘,views.index,name="n1"), 14 url(r‘^index/(?P<a1>d+)/‘,views.index,name="n1"),
5.反向路由
客户端:
url(r‘^login/‘,views.login,name=‘m1‘), <form method="POST" action="{% url "m1" %}"> /* 根据名称也可以反生url*/ url(r‘^edit/(w+)/‘, views.edit,name=‘n2‘) <li>{{ i }}<a href="{% url ‘n2‘ i %}">| 编辑</a></li> 跳转的时候也可以做,不用写url
以上是关于Django之路由系统的主要内容,如果未能解决你的问题,请参考以下文章