首页 > 其他 > 详细

Django之路由

时间:2019-01-17 00:14:23      阅读:211      评论:0      收藏:0      [点我收藏+]

目录

  • 一 Django中路由的作用
  • 二 简单的路由配置
  • 三 有名分组
  • 四 路由分发
  • 五 反向解析
  • 六 名称空间
  • 七 django2.0版的path

一: Django中路由的作用

 

二 :简单的路由配置

from django.conf.urls import url

urlpatterns = [
     url(正则表达式, views视图函数,参数,别名),
]
  • 正则表达式:一个正则表达式字符串
  • views视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
  • 参数:可选的要传递给视图函数的默认参数(字典形式)
  • 别名:一个可选的name参数

示例:

‘‘‘
 一些请求的例子:

/articles/2005/03/ 请求将匹配列表中的第三个模式。Django 将调用函数views.month_archive(request, ‘2005‘, ‘03‘)
/articles/2005/3/ 不匹配任何URL 模式,因为列表中的第三个模式要求月份应该是两个数字。
/articles/2003/ 将匹配列表中的第一个模式不是第二个,因为模式按顺序匹配,第一个会首先测试是否匹配。请像这样自由插入一些特殊的情况来探测匹配的次序。
/articles/2003 不匹配任何一个模式,因为每个模式要求URL 以一个反斜线结尾。
/articles/2003/03/03/ 将匹配最后一个模式。Django 将调用函数views.article_detail(request, ‘2003‘, ‘03‘, ‘03‘)。
   
    ‘‘‘

 

三 :有/无名分组

 

有名分组

url(r^test3/(?P<id>\d+)/(?P<name>\w+)$, views.test3),
有名分组分出几个值,视图函数就要接受几个值(按关键字传入,位置可以打乱),视图函数必须用对应的名字来接收参数
def test(request,id,name):
  ...

  易混淆

<a href="/updatebook/?id={{ book.pk }}">编辑</a>
a链接的请求都是get请求,get请求将数据显示到url路径里传给后台。要区别于url.py文件中配置的有名分组
如果需要获取数据,需要从request.GET里取。
url(r^updatebook/, views.updatebook)
路由里没有分组,视图函数里就不需要接收!!!

 

 

无名分组

url(r^test2/(\d+)/(\w+)$, views.test2),
无名分组分出几个值,视图函数就要接受几个值(位置参数形式传过来的)

四 :路由分发

五 :反向解析

六 :名称空间

七 :django2.0版的path

Django之路由

原文:https://www.cnblogs.com/xuechengeng/p/10280074.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!