以前咱们学习了,urls 路由映射,上回还说了用正则表达式匹配url,今天咱们就来讲说,给路由启用一个名字,那个这个名字的用途是什么呐?html
2.1 普通名称前端
2.2,出入位置参数 对应的路由名称正则表达式
2.3 传入关键字参数对应的路由名称django
说明:咱们用request.path_info ,用于 form action, 这样当URL 改变以后就无需再去修改 前端的的代码app
结果学习
4.一、正常反转生成URLui
说明:根据urls中的name反转生成一个urlurl
一、re_path('^index/',views.index,name='i1'),re_path('^index/(\d+)/(\d+)',views.index,name='i2'),re_path('^index/(?P<nid>\d+)/(?P<uid>\d+)/',views.index,name='i3'),3d
二、def func(request,*args,**kwargs):orm
from django.urls import reverse
url1 = reverse('i1')
url2 = reverse('i2',args=(1,2,))
urls = reverse('i3',kwargs={'pid':1,'nid':9})
三、xxx.html
{% url 'i1' %}
{% url 'i2' 1 2 %}
{% url 'i3' oid=1 nid=9 %}
四、第2种和第3种方式,能够指定到某个页面中去,可是若是你只须要登陆以后仍是停留在原来的页面用request.path_info这个功能。
1.在project \ urls 导入 include,
2.设置转发到对应的APP,
3.在app 下新建 urls, 设置url 路由
4.访问的时候,url 变化
原来:http://127.0.0.1:8000/home/ 后来,http://127.0.0.1:8000/cmdb/home/