Django url (路由)
1、路由的基本使用
#url 是个函数,有四个参数,第一个参数要传正则表达式,第二个参数传函数内存地址,第三个传默认参数,第四个传路由别名 url(r'^yaopipqideneirong/article/aa.html$',views.test), -路由从上往下匹配,一旦匹配成功,后面就不继续匹配了
2、路由的无名分组
url(r'test2/(\d+)/(\w+)$',views.test2), 无名分组分出几个值,试图函数就要接受几个值(位置参数形式传过来的)
3、路由的有名分组
url(r'^test3/(?P<id>\d+)/(?P<name>\w+)$',views.test3),有名分组分出几个值,视图函数就要接受几个值(按关键字传入,位置可以打乱)
注意: 有名和无名不能混着用
APPEND_SLASH=False:
在settings中配置(以后项目,一般不用动)** 默认是true,浏览器浏览的时候,默认加上斜杠 如果是false,浏览器默认不会加 /
6、路由分发
1、在 主 路由中导入 include
-from django.conf.url import include
2、在主路由中:
url(r"^app02/",include("app02.urls")),
url(r"^app03/",include("app03.urls")),
3、在不同app中新建一个urls
from app02 import views
urlpatterns=[
url(r'^test/',views.test), ]
4、如果浏览器输入app02/test/,就会响应到app02下views中的test去执行
7、反向解析
干什么用?
-在视图函数中重定向的地址原来是写死的,如果url地址变更,我需要所有的url都修改,很麻烦,所以通过反向解析,获得url的地址
如何使用:
-路由层(项目自己的):
url(r"^test_2/", views.test_2,name="test") test为test_2的别名
-视图层:(用的比较多)
from django.shortcuts import reverse
url = reverse( 'test' ) #上面路由的别名
如果做了分组
url = reverse(”url地址的别名“,args=[] , kwargs={})
-模板层(也就是前端):(用的比较多)
{% url "url地址的别名"%}
href= “ {% url ”url地址的别名“ 参数1 参数2%} ”
8、名称空间
-路由分发是,可以指定名称空间:
-url(r'^app02/',include('app02.urls',namespce='app02')),
-url(r'^app03/',include("app03.urls",namespace="app03")),
-在视图中反向解析:
-url=reverse(”app02:test“)
-在模板中反向解析:
-{%url ”app02:url 地址的别名“%}
-个人不建议这么使用:
同app的url中起别名的时候,添加app名_别名
9、 django 2.0的path,re_path
-1.几的url就是2.几的re_path
-2.0的path 第一个参数不再是正则表达式
-5个转换器:int,str,slug,path,uuid
10、 自定义转换器
-1 写一个类:
class MyCon:
regex = '[0-9]{4}'
def to_python(self, value):
return int(value)
def to_url(self, value):
return '%04d' % value
-2 在urls中:
-from django.urls import register_converter
-register_converter(类名,'别名')
-path('test/<别名:year>', views.test,name='year'),
Django url (路由)的更多相关文章
- django URL路由基础
URL是Web服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应. 在Django项目中编写路由,就是向外暴露我们接收哪些URL的请求,除此之外的任何URL都不被 ...
- django url 路由设置技巧
Django的url使用方法 利用Django开发站点.能够设计出很优美的url规则,假设url的匹配规则(包括正則表達式)组织得比較好,view的结构就会比較清晰.比較easy维护. 最简单的形式 ...
- Django URL (路由系统)
URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那 ...
- django url路由参数错误
出现错误: TypeError get() got an unexpected keyword argument 'teacher_id 出错原因: view类中,get方法获得了一个多余的额参数,这 ...
- URL路由系统-命名空间
命名空间 1.工程Django下的urs.py from django.conf.urls import url,include from django.urls import path,re_pat ...
- python :Django url /views /Template 文件介绍
1,Django URL 路由系统 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表:你就是以这种方式告诉Django ...
- Django学习(四) Django提供的后台管理系统以及如何定义URL路由
一旦你建立了模型Models,那么Django就可以为你创建一个专业的,可以提供给生成用的后台管理站点.这个站点可以提供给有权限的人进行已有模型Models数据的增删改查. 将新建的模型Models是 ...
- django中url路由配置及渲染方式
今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 ...
- python django基础二URL路由系统
URL配置 基本格式 from django.conf.urls import url #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数执行,就不再往下循环了,并给函数 ...
- day64 url用法以及django的路由系统
此篇博客是以备后查的,用到的时候记得过来查找即可! 路由系统:就是我们的django项目创建的时候自带的那个urls.py 它本身里面是映射的对应关系,一个大的列表里面,一个个元祖,元祖里面是url或 ...
随机推荐
- Arcpy多线程热力图
起因是这样一段对话,领导:你会用脚本生成热力图图片吗?我:可以研究下.领导:那这个需求就给你了.我:...... 经过一番研究,研究出大概的思路,先将有经纬度的表中的数据筛选出表并生成 ...
- SqlServer主键和自增长设置
SqlServer主键和自增长设置 Intro 有时候有些 sql 语句有些不太记得了,谨以此文备忘. 设置主键以及自增长可分两种情况: 新创建表 表已创建但是没有设置主键和自增长 新创建表 创建表 ...
- PJProject(2.6) 工程介绍
pjlib pjlib\build\pjlib.vcproj pjlib_test pjlib\build\pjlib_test.vcproj pjsip_core pjsip\build\pjsip ...
- MongoDB 提升性能的18原则(开发设计阶段)
MongoDB 是高性能数据,但是在使用的过程中,大家偶尔还会碰到一些性能问题.MongoDB和其它关系型数据库相比,例如 SQL Server .MySQL .Oracle 相比来说,相对较新,很多 ...
- js 学习之路5:使用js在网页中添加水印
示例: <!DOCTYPE html> <html> <meta http-equiv="Content-Type" content="te ...
- Github上如何查看当前最流行的开源项目
先声明下:只针对初学者,大神的话勿喷. 针对题标的这个问题,按照如下步骤操作即可: 进入Github网站后,显示的页面如下所示: 点击"Explore"链接,进入如下页面: 页面上 ...
- 2星|《重新定义物流》:形式像PPT,内容像公关稿
全书彩印,彩图大概占一半篇幅,感觉是把一些PPT配上点说明拼成了一本书.前后的彩图风格差异较大,大部分给我的感觉都是堆砌名词术语的官方宣传材料,少部分色调单一形式简单的图,像是作者们自己绘制的,反而能 ...
- Python基础——7面向对象高级编程
实例与类动态添加方法 实例添加属性: def Student(object): pass s = Student() s.name = ‘syz’ 实例添加方法 from types import M ...
- Git常用命令集锦
本篇Git命令博客主要是一些Git常用命令,适合于有一定Git或linux基础的小伙伴进行参考 1.新建文件夹 mkdir 文件夹名 2.查看目录机构: pwd 3.将文件添加至Git管理范围:git ...
- SSRS----关于图表参考线(平均线)的添加
在开发报表的时候,遇到了一个问题,客户需要在气泡图上添加水平和竖直两条平均线(结果参考如下图). 个人知识背景 一般添加参考线本身是有一个相关的设置的,但一般都是相对于Y值,即平行于X轴的.用类似的方 ...