码迷,mamicode.com
首页 > 其他好文 > 详细

路由配置系统

时间:2017-06-28 17:10:08      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:logs   别名   span   可调用对象   html   view   pattern   edit   函数   

URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于这个URL调用这段代码<br>对于那个URL调用那段代码

 urlpatterns = [
         url(正则表达式, views视图函数,参数,别名),
]
 
参数说明:
 
    一个正则表达式字符串
    一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
    可选的要传递给视图函数的默认参数(字典形式)
    一个可选的name参数

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  

views.py:
  from django.urls import reverse    #根据名字反转成url
  def index(request,a1):    #一一对应关系
    user_list=[
        "alex","eric","tony"
    ]
    v=reverse("n1",args=(1,))    #args= 数字自己规定 写的是1 url也会体现出来
    and
    v=reverse("n1",kwargs={a1:11111}) 
    print(v)
    return render(request,index.html,{"user_list":user_list})
    urls:
url(r^index/(\d+)/,views.index,name="n1"),
         url(r^index/(?P<a1>\d+)/,views.index,name="n1"),
在html里写
            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

 

  

  

  

路由配置系统

标签:logs   别名   span   可调用对象   html   view   pattern   edit   函数   

原文地址:http://www.cnblogs.com/niejinmei/p/7090358.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!