Django 03. django框架之路由系統

簡介

    使用index和login視圖舉例詳解了django框架路由系統的6種經常使用場景。

views.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.http import HttpResponse

def index(request):
    return HttpResponse("<h1>index</h1>")

def login(request,userName,passWord):
    if passWord == 'test1234_':
        return HttpResponse("%s,歡迎登陸!" %(userName))
    else:
        return HttpResponse('用戶名和密碼錯誤')

urls.py

1.  直接導入views.py中的方法名
from web.views import index,login

urlpatterns = [
    url(r'^index/$',index),
]

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. 使用正則中的分組方法進行參數傳遞,指定要給那個參數傳值 
      from web import views
     urlpatterns = [
    url(r'^index/$',views.index),
    url(r'^login/(?P<passWord>\w+)/(?P<userName>\w+)$',views.login),
     ]    

輸入正確時:
            
 
 輸入錯誤時:
        


5. 固定參數(passWord 屬性爲固定參數,即便你傳入正確的密碼「test1234_」,也會顯示用戶名和密碼錯誤,由於login方法實際接收到的值固定爲「test1234」)

    urlpatterns = [
    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

urlpatterns = [
    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


相關文章
相關標籤/搜索