Django路由分配及渲染
一、url路由分配
1.url配置的本质是将浏览器传递过来的路径和参数与服务器中的视图向匹配,并返回浏览器相应的视图函数。
2.url路径path规则 path(route, view, kwargs=None, name=None)
route:一个字符串的url规则,
views:是一个视图
kwargs:额外的参数,是一个字典(额外参数与route规则中的形参冲突的时候,以额外参数为先)
name:url规则的名字
3.path传参 path(‘test/<xx>/<xx>/’, views.test)当路径匹配成功后,会调用后面的视图函数
使用<>从传递过来的url中获(多个)值,可以配置一个转化器类型(converter type)来匹配指定的字符,如果没有配置转换器则默认匹配任何字符,当然也匹配/字符。
path中<>形参名必须和对应视图函数中形参一致,参数才能传递给视图函数
4.path转换器
str 匹配除路径符/外的任意非空字符,这是默认形式
int 匹配正整数,包含数字0
slug 匹配字母、数字以及横杠、下划线组成的字符串
uuid 匹配格式化的uuid
path 匹配任意字符串,包含路径字符串
5.path转换器的使用
直接在路径<>中使用 path('index/<int:pk>', views.test2),
6re_path 正则表达式匹配
当path转换器不能满足约束条件,则使用正则表达式re_path
首先在urls中导入re_path模块 from django.urls import re_path
其次在urlpatterns中写入re_path路径 re_path(r'^index/(?P<year>\d{4})/(?P<month>[1-9]|1[1-2])/$', views.test3),
然后再地址栏中输入相应的url http://127.0.0.1:8000/index/2018/2/回车
注意通过正则匹配得到的参数类型是str,要想得到整数类型得在views函数中对其进行转换
二、路由重定向 redirect
redirect可以返回指定的网址请求,起到重定向的作用
三、路径重命名 reverse
路径重命名是将浏览器发送过来的路径,调用匹配的视图函数,然后在视图函数中通过reverse跳转到name所在的路径视图
也适用于服务器网址变更后,浏览器发送之前的路径请求,通过reverse将旧的路径请求转化成新的路径请求
四、Django调用HTML源码
依次在项目文件下创建templates文件夹,templates下创建APP应用名的文件夹,templates/app下创建HTML文件
然后再项目setting文件中配置templates文件夹的路径
之后在视图文件中定义视图函数,有两种方法,如步骤④
最后在urls文件中关联路径
在浏览器中输入 http://127.0.0.1:8000/aaa/回车
Django路由分配及渲染的更多相关文章
- Django路由分配以及模版渲染
路由上: 在网络上区分不同的电脑通过IP.端口和网卡的MAC地址等,在web框架中怎么区分不同的请求呢,就是通过 ‘url(路由)’ ,url 学名叫做全球统一资源定位符,其实就是一个网址 一个url ...
- Django——2 路由分配设置 re_path正则匹配 include总路由 url传参 name使用 模板渲染render方法 模板渲染方法
Django 路由分配设置 re_path正则匹配 include总路由设置 url额外参数的传递 name的使用 模板的渲染:render方法 路由的分配中, 可以设定相应的转换器加以约束,比如 ...
- django中url路由配置及渲染方式
今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 ...
- Django 02 url路由配置及渲染方式
Django 02 url路由配置及渲染方式 一.URL #URL #(Uniform Resoure Locator) 统一资源定位符:对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是 ...
- Django 学习第二天——URL路由及模板渲染方式
URL 的概念及格式: URL的引入:客户端:知道了url 就可以去进行访问: 服务端:设置好了url,别人才能访问到我 URL :网址(全球统一资源定位符):由 协议,域名(ip port) ,路径 ...
- django第三天(路由基础和路由分配)
路由基础 url(正则路径,视图函数地址,默认关键字参数,路由别名) 路由由上而下匹配, ""可以匹配任意路由 "^$"来匹配"/" url ...
- url路由配置以及渲染方式
路由分配及模板渲染 路由系统 urlpatterns = [ path('admin/', admin.site.urls), path('teacher/',include('teacher.url ...
- django 路由系统,数据库操作
一.修改配置 数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'dbname', 'USER': ...
- Django路由详解
一.路由基础 1.路由url函数:路由自上而下进行匹配:url(正则路径,视图函数内存地址,默认参数,路由别名) 2.路由正则: 规定开始:^ | 规定结束:$ #url(r'index', view ...
随机推荐
- go调查内存泄漏
curl x.x.x.x/debug/pprof/heap > base.heap 过段时间 curl x.x.x.x/debug/pprof/heap > current.heap go ...
- Kickstart自动化安装平台
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并 ...
- linux查看硬件详细信息dmidecode
[root@zabbix_server src]# dmidecode|more # dmidecode 2.12 SMBIOS 2.7 present. structures occupying b ...
- Game Engine Architecture 7
[Game Engine Architecture 7] 1.SRT Transformations When a quaternion is combined with a translation ...
- LINUX | 谷歌云开启SSH及设置root密码
一.设置root密码 1.先选择从浏览器打开ssh连接服务器 2.切换到root账号 sudo -i 3.设置root密码 passwd 然后会要求输入新密码,然后再重复一次密码,输入密码的时候不会显 ...
- hashCode 与 equals
面试官可能会问你:“你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?” hashCode()介绍 hashCode() 的作用是获取哈希码, ...
- shell脚本简介
什么是shell? shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户.这种对话方式可以是交互的 ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-1虚拟机安装及环境初始化
1.软件准备: VMware-workstation-full-14.1.2-8497320.exe CentOS-7-x86_64-DVD-1804.iso 2.VMare激活码: AU5WA-0E ...
- Spring MVC相关
配置文件说明 web.xml, spring配置文件 applicationContext.xml, spring配置文件, mybatis连接mysql配置文件 sql-map-config-mys ...
- 记录一次程序输出和DB查询不匹配的问题
今天发生一件很神奇的事情,我用TP读取DB数据,然后打印出来的数据,和直接通过sequal pro查询出来的数据(某一列),怎么对都对不起来,我尝试 清空TP缓存 MYSQL服务重启 mac重启 都无 ...