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之路由系统的主要内容,如果未能解决你的问题,请参考以下文章

Django之路由系统

Django之路由系统

Django之路由系统

Django之 路由系统

Django之路由系统

Django之路由系统