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路由配置及模板渲染的更多相关文章

  1. Django(一):url路由配置和模板渲染

    urls.py路由用法 url基本概念 url格式 urls.py的作用 url解析过程 include的作用 kwarg的作用 name的作用 URL概念 URL(Uniform Resoure L ...

  2. Django 02 url路由配置及渲染方式

    Django 02 url路由配置及渲染方式 一.URL #URL #(Uniform Resoure Locator) 统一资源定位符:对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是 ...

  3. django中url路由配置及渲染方式

    今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 ...

  4. Django学习手册 - 正则URL路由配置/路由分发

    ############################################### 总结: 一.url路由配置: 方式一:(通过url链接get获取) 方式二:(url路由匹配方式获取-拓 ...

  5. [Django框架之路由层匹配、有名 无名分组、反向解析、路由分发、名称空间、伪静态、本地虚拟环境、django版本区别]

    [Django框架之路由层匹配.有名 无名分组.反向解析.路由分发.名称空间.伪静态.本地虚拟环境.django版本区别] 路由层 路由即请求地址与视图函数的映射关系,如果把网站比喻成一本书,那路由就 ...

  6. [Django框架 - 静态文件配置、request对象方法初识、 pycharm链接数据库、ORM实操增删改查、django请求生命周期]

    [Django框架 - 静态文件配置.request对象方法初识. pycharm链接数据库.ORM实操增删改查.django请求生命周期] 我们将html文件默认都放在templates文件夹下 将 ...

  7. day05 django框架之路由层

    day05 django框架之路由层 今日内容概要 简易版django请求声明周期流程图(重要) 路由匹配 无名有名分组 反向解析 无名有名解析 路由分发 名称空间 伪静态 虚拟环境 简易版djang ...

  8. url路由配置以及渲染方式

    路由分配及模板渲染 路由系统 urlpatterns = [ path('admin/', admin.site.urls), path('teacher/',include('teacher.url ...

  9. Django之url路由

    Django之url路由 url路由介绍 url路由是关联url及其视图函数关系的过程. 作用就是使views里面处理数据的函数与请求的url建立映射关系 url路由配置 Django的url路由配置 ...

随机推荐

  1. MFC的执行过程分析

    MFC程序的执行细节剖析 MFC程序也是Windows程序,所以它应该也有一个WinMain.可是在程序中看不到它的踪影.事实上在程序进入点之前.另一个(并且仅有一个)全局对象(theApp).这就是 ...

  2. Xcode加入应用图标以及启动界面

    寻找了许久的资料,记录下Xcode加入应用图标以及启动界面的学习笔记: 很实用的网址: 1.(苹果官网)Designing for iOS 2.iOS 8 人机交互指南 图标和图片的尺寸參考: 更加具 ...

  3. windows “文件大小”与“占用空间”、文件系统与文件拷贝

    0. 文件大小与占用空间 "文件大小"和"占用空间"的差别 首先需要明确的是,"文件大小"代表着文件的真实大小(文件内容实际包含的全部字节数 ...

  4. BZOJ 1579 道路升级 Dijkstra

    思路: 这道题 不能把所有边都建出来 会MLE的!!! oh gosh 其实不建所有的边 用的时候再调就行了-.(也没啥区别) //By SiriusRen #include <queue> ...

  5. HDU 5889 Barricade (Dijkstra+Dinic)

    思路: 首先 先Dijkstra一遍 找出来最短路 不是最短路上的边都不要 然后呢 套个Dinic模板就好了-- 求个最小割 输出 大功告成~~ //By SiriusRen #include < ...

  6. codeforces 710A King Moves(水)

    output standard output The only king stands on the standard chess board. You are given his position ...

  7. 【Django】Web框架本质

    目录 根据不同的路径返回不同的内容 普通版 函数版 函数进阶版 返回具体的HTML文件 让网页动态起来 服务器和应用程序 wsgiref 模块 @ * 我们可以这样理解:所有的==Web应用本质上就是 ...

  8. Centos7最小化安装后再安装图形界面

    1. yum -y groupinstall "X Window System" 2. yum -y groupinstall "GNOME Desktop"  ...

  9. CSUOJ 1525 Algebraic Teamwork

    Problem A Algebraic Teamwork The great pioneers of group theory and linear algebra want to cooperate ...

  10. 【ios开发学习 - 第二课】iOS项目文件夹结构

    文件夹结构 AppDelegate Models Macro General Helpers Vendors Sections Resources   一个合理的文件夹结构首先应该是清晰的.让人一眼看 ...