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路由配置 ...
随机推荐
- iOS App 上架流程
iPhone App 上架流程 1. 申请 App ID (1) 连到 Devel ...
- django 笔记4 数据库操作
django操作数据库 orm操作 对应关系 models.tb.objects.filter(id__gt=) models.tb.objects.filter(id=) models.tb.obj ...
- 简单缓存Cache
接口 interface ICache { /// <summary> /// 添加 /// </summary> /// <param name="key&q ...
- BZOJ 1598 第k短路
思路: 先反向建图 Dijkstra一遍 求出h数组 再正向建图 A_star一遍 搞定 //By SiriusRen #include <queue> #include <cstd ...
- jython awt demo
jython awt demo : """\ Create a panel showing all of the colors defined in the pawt.c ...
- MYSQL常用命令列表
MYSQL常用命令列表 1.系统管理 mysql -h主机地址 -u用户名 -p 连接MYSQL(在mysql/bin) exit 退出MYSQL命令 mysqladmin -u用户名 -p旧密码 p ...
- Centos6.5 安装lamp环境
转载自:http://www.jb51.net/article/37987.htm (转载请注明出处,谢谢) 准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/i ...
- 【Henu ACM Round#15 E】 A and B and Lecture Rooms
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 最近公共祖先. (树上倍增 一开始统计出每个子树的节点个数_size[i] 如果x和y相同. 那么直接输出n. 否则求出x和y的最近 ...
- Lua刚開始学习的人(一)--Lua 简单教学
近期因为工作原因.临时木有<Oracle起步学习>续集.领导知道学习下Lua脚本语言.看了一周了.趁热打铁,留下点实用的东西吧. 本系列会主要针对宿主语言为 Delphi,原理都是一样的, ...
- 【安卓】数据库基于脚本的"增量更新",每次更新时不需改动java代码、!
思路: 1.当然是基于SQLiteOpenHelper.onCreate(第一次安装程序时调用).onUpdate(升级程序时调用) 2.用"脚本"(脚本制作详细方法问度娘)做数据 ...