004 Django学习之urls(Python2.7)

来源:互联网 发布:阴茎延长手术死亡知乎 编辑:程序博客网 时间:2024/06/18 09:29

1. 单一路由对应

url(r'^index/$', views.index),

2. 基于正则的路由

url(r'^index/(\d*)', views.index),url(r'^manage/(?P<name>\w*)/(?P<id>\d*)', views.manage),

3. 添加额外的参数

url(r'^manage/(?P<name>\w*)', views.manage,{'id':333}),

4. 为路由映射设置名称

url(r'^home/', views.home, name='h1'),url(r'^index/(\d*)', views.index, name='h2'),

设置名称之后的调用

1. 模板中的调用
{% url 'h2' 2012 %}
2. views视图函数中的调用
reverse('h2', args=(2012,))

5. 根据app对路由规则进行分类(APP下的urls)

url(r'^web/',include('web.urls')),

6. 命名空间

-------------项目路径下的urls-------------from django.conf.urls import url,includeurlpatterns = [    url(r'^app01/', include('app01.urls', namespace='app01')),]-------------app01下的urls----------------from django.conf.urls import urlfrom app01 import viewsurlpatterns = [    url(r'^index/(?P<pk>\d+)/$', views.index, name='index')]------------------views-------------------def index(request, pk):    return HttpResponse(pk)------------------使用--------------------# views中使用urlv = reverse('app01:detail', kwargs={'pk':11})# 模板中的使用{% url 'app01:detail' pk=12 %}
原创粉丝点击