django urls.py

urls.py总结 (路由系统)

urlpatterns = [
     url(正则表达式, views视图,参数,别名),
]

 

from django.conf.urls import url  使用url模块
from django.contrib import admin  使用后台模块 详见应用admin.py 初级和高级使用
import blog.views      导入blog应用视图方法

#主要针对media处理
from django.views.static import serve 使用serve处理media,可以自动完成文件的保存 from django.conf import settings 使用settings配置 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^index/$', blog.views.Index.as_view()), url(r'^$', blog.views.Index.as_view()), url(r'^login/$', blog.views.Login.as_view()), url(r'^register/$', blog.views.Register.as_view()), url(r'^vip/$', blog.views.Vip.as_view()), url(r'^pcgetcaptcha/$', blog.views.pcgetcaptcha), url(r'^blog/(?P<user_blogname>.*)/', blog.views.Blog.as_view(),), CBV 方式将有名分组的组名传递进去,可以取代get获取id方式,详见有名分组无名分组 url(r'^vcode/$', blog.views.v_code), url(r'^logout/$', blog.views.v_logout), # 给用户上传文件 配置一个处理的路由 url(r'^media/(?P<path>.*)', serve, {"document_root": settings.MEDIA_ROOT}) ]

URL命名和URL反向解析

给url起别名   name= 'book'

无名分组
url('^book/([0-9]{4})/([0-9]{2})', views.book, name='book')
 视图的用法:
  from django.shortcuts import reverse
  print(reverse('book',args=('1999','08')))
  # /book/1999/08
  模板的用法:

{% url 'book' '1998' '08' %}
# /book/1998/08
2. 有名分组 url('^book/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})', views.book, name='book') 视图的用法: from django.shortcuts import reverse print(reverse('book',kwargs={'year':'1999','month':'09'})) # /book/1999/08 模板的用法: 方法一: 按位置传参 {% url 'book' '1998' '08' %} # /book/1998/08 方法二: {% url 'book' year='1998' month='08' %} {% url 'book' month='08' year='1998' %}

 

posted @ 2018-08-15 21:32  eailoo  阅读(149)  评论(0)    收藏  举报