Django 03. django框架之路由系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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






































以上是关于Django 03. django框架之路由系统的主要内容,如果未能解决你的问题,请参考以下文章

django框架之视图系统和路由系统

Django框架

Django 框架入门

Django之路由系统

django之路由分组,路由分发,FBV,CBV,ORM框架

django目录