3/19 Django框架 url路由配置及模板渲染
3/19 Django框架 url路由配置及模板渲染
1.路由分配
URL(Uniform Resoure Locato):统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
https://docs.pythontab.com:443/django/django1.5/intro/overview.html#model
协议 域名(IP地址和端口) 路径 锚点
urlpatterns : 路由模式
项目文件下的叫根配置文件
url.py
: UrlConf模块(url配置模块)
path函数(route, view, kwargs=None, name=None)
- route是一个字符串url规则
- view是一个试图,是一个函数,不加括号
- kwargs:额外的参数,是一个字典
- name:url规则的名字
在url中捕获参数
例如要获取某个学生的详情 需要在数据库中通过主键id唯一标识这个学生
通过<>捕获参数 转换器int: (int:)
转换器
pk传进去的时候会转换类型
- str: 匹配除了路径分隔符'/'之外所有的字符串,如果不写转换器,默认是字符串转换器
- int: 匹配0或任何正整数
- slug: 匹配任意的ASCII字符或数字组成的slug字符串,连字符和下划线
- path: 匹配任何非空字符串,包括路径分隔符‘/’
使用正则表达式
re_path(route,view,kwargs=None,name=None)
注:用正则表达式匹配到的参数会转换成字符串类型
url命名
重定向
导入django.shortcuts.redirect
return redirect('')
命名:在路由模式中加入name = ''可以给路径命名
使用的时候导入django.shortcuts.reverse
使用reverse('')
如果在不同APP下路径的命名相同,就需要在每个APP的urls.py下设置一个变量
app_name = '<app_name>',命名就可以写成reverse('<app_name>:'),
以便区分不同的视图
2.模板系统
项目根目录下新建一个templates文件夹,再在templates文件夹下新建APP文件夹,用来存放不同应用下的模板
项目目录下的settings.py里有一个叫TEMPLATES的列表,里面嵌套了一个字典,是用来配置模板路径的。将BASE_DIR(项目根目录)与路径拼接,放到DIRS的值里去'DIRS':[os.path.join(BASE_DIR, 'templates')]
from django.template.loader import get_template
t = get_template('teacher/index.html')
html = t.render()
return HttpResponse(html)
# 就等同于
return render(request, 'teacher/index.html')
3/19 Django框架 url路由配置及模板渲染的更多相关文章
- Django(一):url路由配置和模板渲染
urls.py路由用法 url基本概念 url格式 urls.py的作用 url解析过程 include的作用 kwarg的作用 name的作用 URL概念 URL(Uniform Resoure L ...
- Django 02 url路由配置及渲染方式
Django 02 url路由配置及渲染方式 一.URL #URL #(Uniform Resoure Locator) 统一资源定位符:对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是 ...
- django中url路由配置及渲染方式
今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 ...
- Django学习手册 - 正则URL路由配置/路由分发
############################################### 总结: 一.url路由配置: 方式一:(通过url链接get获取) 方式二:(url路由匹配方式获取-拓 ...
- [Django框架之路由层匹配、有名 无名分组、反向解析、路由分发、名称空间、伪静态、本地虚拟环境、django版本区别]
[Django框架之路由层匹配.有名 无名分组.反向解析.路由分发.名称空间.伪静态.本地虚拟环境.django版本区别] 路由层 路由即请求地址与视图函数的映射关系,如果把网站比喻成一本书,那路由就 ...
- [Django框架 - 静态文件配置、request对象方法初识、 pycharm链接数据库、ORM实操增删改查、django请求生命周期]
[Django框架 - 静态文件配置.request对象方法初识. pycharm链接数据库.ORM实操增删改查.django请求生命周期] 我们将html文件默认都放在templates文件夹下 将 ...
- day05 django框架之路由层
day05 django框架之路由层 今日内容概要 简易版django请求声明周期流程图(重要) 路由匹配 无名有名分组 反向解析 无名有名解析 路由分发 名称空间 伪静态 虚拟环境 简易版djang ...
- url路由配置以及渲染方式
路由分配及模板渲染 路由系统 urlpatterns = [ path('admin/', admin.site.urls), path('teacher/',include('teacher.url ...
- Django之url路由
Django之url路由 url路由介绍 url路由是关联url及其视图函数关系的过程. 作用就是使views里面处理数据的函数与请求的url建立映射关系 url路由配置 Django的url路由配置 ...
随机推荐
- modSecurity规则学习(七)——防止SQL注入
1.数字型SQL注入 /opt/waf/owasp-modsecurity-crs/rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf"] [lin ...
- LSTM入门学习——本质上就是比RNN的隐藏层公式稍微复杂了一点点而已
LSTM入门学习 摘自:http://blog.csdn.net/hjimce/article/details/51234311 下面先给出LSTM的网络结构图: 看到网络结构图好像很复杂的样子,其实 ...
- CentOS7 启动[root@localhost ~]# systemctl start docker Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for de
1).在linux虚拟机上安装docker步骤:1.检查内核版本,必须是3.10及以上uname ‐r2.安装dockeryum install docker3.输入y确认安装4.启动docker[r ...
- 用Struts2搭建一个登录例子【本人亲测好用】
今天尝试struts2的搭建,遇到不少的问题,终于一一解决,逛了很多地方,最终完成搭建 1.首先要下载struts2的一些组件,我下载的是版本2.3.4.1,Eclipse是4.6版本的.由于版本的不 ...
- LINUX中,find结合grep正则表达式,快速查找代码文件。
###目的###LINUX中,find结合grep正则表达式快速查找代码. 例如经常有需求:查找当前目录下所有.h文件中,"public开头,中间任意字符,以VideoFrameReceiv ...
- LXDE桌面初始设置,Fedora27系统。
一.主题安装主题:方法1.通过软件源安装主题,默认xfce安装的主题有限不一定符合我们的口味. [root@Fedora ~]# dnf search themes #搜索可用主题 通过上面 ...
- 关于vs2012/2013的C编译器生成的exe的向后兼容xp的问题
问题一:编译出来的exe在xp上面运行提示"不是有效的win32应用程序" 在vs2012/2013版本里面,其自带的c编译器cl.exe,若直接使用cl a.c编译,那么生成出来 ...
- Supervisor 的安装与配置教程
简介 Supervisor是一个进程控制系统. 它是一个C/S系统(注意: 其提供WEB接口给用户查询和控制), 它允许用户去监控和控制在类UNIX系统的进程. 它的目标与launchd, daemo ...
- java设计模式--事件监听器模式和观察者模式
监听器模式:事件源经过事件的封装传给监听器,当事件源触发事件后,监听器接收到事件对象可以回调事件的方法 观察者模式:观察者(Observer)相当于事件监听者,被观察者(Observable)相当于事 ...
- atitit.jndi的架构与原理以及资源配置and单元測试实践
atitit.jndi的架构与原理以及资源配置and单元測试实践 1. jndi架构 1 2. jndi实现原理 3 3. jndi资源配置 3 3.1. resin <database> ...