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' %}

浙公网安备 33010602011771号