簡介
使用index和login視圖舉例詳解了django框架路由系統的6種經常使用場景。
views.py
from __future__ import unicode_literals
from django.http import HttpResponse
return HttpResponse("<h1>index</h1>")
def login(request,userName,passWord):
if passWord == 'test1234_':
return HttpResponse("%s,歡迎登陸!" %(userName))
return HttpResponse('用戶名和密碼錯誤')
urls.py
1. 直接導入views.py中的方法名
from web.views import index,login
2. 不直接導入方法名,而是隻導入views.
from web import views
urlpatterns = [
url(r'^index/$', views.index),
]
3. 使用正則中的分組方法進行參數傳遞,不指定參數名,按傳入順序 接收。
from web import views
urlpatterns = [
url(r'^index/$', views.index),
url(r'^login/(\w+)/(\w+)$', views.login),
]
4. 使用正則中的分組方法進行參數傳遞,指定要給那個參數傳值
url(r'^index/$',views.index),
url(r'^login/(?P<passWord>\w+)/(?P<userName>\w+)$',views.login),
5. 固定參數(passWord 屬性爲固定參數,即便你傳入正確的密碼「test1234_」,也會顯示用戶名和密碼錯誤,由於login方法實際接收到的值固定爲「test1234」)
url(r'^index/$', views.index),
url(r'^login/(?P<userName>\w+)', views.login, {'passWord':'test1234'}),
6. 根據app對路由規則進行分類
1) mysite.urls.py
from django.conf.urls import url,include
url('^web/',include('web.urls')),
2) mysite.web.urls.py
from django.conf.urls import url
from web import views
urlpatterns = [
url('^index/$', views.index),
url('^login/(?P<userName>\w+)/(?P<passWord>\w+)$', views.login),
附錄1:django 經常使用URL配置方法
附錄二:Django URL Name詳解
http://code.ziqiangxuetang.com/django/django-url-name.html