没有合适的资源?快使用搜索试试~ 我知道了~
一、URL路由基础 URL是web服务的路口,用户通过浏览器发送过来的任何请求都会被发送到一个指定的URL地址里,然后被响应。 在django项目中编写路由就是向外暴露我们接收哪些URL的请求,除此之外任何的URL都不会被处理,URL路由就是web服务对外暴露的API 二、Django处理请求 确定要使用的 URLconf 模块,通常是settings中 ROOT_URLCONF 设置的值,如果传入的 HttpRequest 对象具有 urlconf 属性(中间件设置),则使用其值代替settings中 ROOT_URLCONF Django加载模块并查找可用的 urlpatterns
资源推荐
资源详情
资源评论
Django 路由控制的实现代码路由控制的实现代码
一、一、URL路由基础路由基础
URL是web服务的路口,用户通过浏览器发送过来的任何请求都会被发送到一个指定的URL地址里,然后被响应。
在django项目中编写路由就是向外暴露我们接收哪些URL的请求,除此之外任何的URL都不会被处理,URL路由就是web服务
对外暴露的API
二、二、Django处理请求处理请求
确定要使用的 URLconf 模块,通常是settings中 ROOT_URLCONF 设置的值,如果传入的 HttpRequest 对象具有 urlconf 属
性(中间件设置),则使用其值代替settings中 ROOT_URLCONF
Django加载模块并查找可用的 urlpatterns ,它是 django.conf.urls.url() 实例的一个列表
按顺序运行每个URL模式,匹配成功就停下来,所以 顺序很关键
匹配成功导入给定的视图,它是一个python函数,或基于类的视图,视图将获得如下参数
一个HttpRequest实例
如果匹配的正则表达式返回了无名分组,那么它将作为位置参数提供给视图
关键字参数由正则的有名分组组成,但是可以被django.conf.urls.url()的可选参数kwargs覆盖
如果没有URL模式匹配,或者过程出错了,将调用错误处理视图
三、简单的路由配置三、简单的路由配置
from django.conf.urls import url
urlpatterns=[
url(正则表达式,view视图函数,参数,别名)
]
示例的URLconf:
from django.urls import url
from . import views
urlpatterns = [
url(r'^articles/2003/$', views.special_case_2003),
url(r'^articles/([0-9]{4})/$', views.year_archive),
url(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive),
url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail),
]
注:
从URL中捕获一个值,可以加园括号或者尖括号
不要添加前导的防斜杠,因为每个URL都有,例如,应该是 ^articles 而不是 ^/articles
每个正则表达式前面的’r’是可选的,建议添加上,它告诉python这个字符串中的任何字符都不应该被转义
请求的例子及匹配的url
/articles/2005/03/将匹配列表中的第三个模式。Django将调用函数views.month_archive(request, ‘2005’, ’03’)。
/articles/2005/3/不匹配任何URL模式,因为列表中的第三个模式要求月份是两个数字。
/articles/2003/将匹配列表中的第一个模式不是第二个,因为模式按顺序从上往下匹配,第一个会首先被匹配。Django会调用
函数views.special_case_2003(request)
/articles/2003不匹配任何一个模式,因为每个模式都要求URL以一个斜杠结尾。
/articles/2003/03/03/将匹配最后一个模式。Django将调用函数views.article_detail(request, ‘2003’, ’03’, ’03’)。
是否开启URL访问地址后面 不为/跳转至带有/路径的配置项
APPEND_SLASH=True
Django settings.py配置文件中默认没有 APPEND_SLASH 这个参数,但 Django 默认这个参数为 APPEND_SLASH = True。
其作用就是自动在网址结尾加’/’。
四、有名分组四、有名分组
资源评论
weixin_38645133
- 粉丝: 7
- 资源: 964
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功