一、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路由分配及渲染的更多相关文章

  1. Django路由分配以及模版渲染

    路由上: 在网络上区分不同的电脑通过IP.端口和网卡的MAC地址等,在web框架中怎么区分不同的请求呢,就是通过 ‘url(路由)’ ,url 学名叫做全球统一资源定位符,其实就是一个网址 一个url ...

  2. Django——2 路由分配设置 re_path正则匹配 include总路由 url传参 name使用 模板渲染render方法 模板渲染方法

    Django 路由分配设置 re_path正则匹配 include总路由设置 url额外参数的传递 name的使用 模板的渲染:render方法   路由的分配中, 可以设定相应的转换器加以约束,比如 ...

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

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

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

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

  5. Django 学习第二天——URL路由及模板渲染方式

    URL 的概念及格式: URL的引入:客户端:知道了url 就可以去进行访问: 服务端:设置好了url,别人才能访问到我 URL :网址(全球统一资源定位符):由 协议,域名(ip port) ,路径 ...

  6. django第三天(路由基础和路由分配)

    路由基础 url(正则路径,视图函数地址,默认关键字参数,路由别名) 路由由上而下匹配, ""可以匹配任意路由 "^$"来匹配"/" url ...

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

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

  8. django 路由系统,数据库操作

    一.修改配置 数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'dbname', 'USER': ...

  9. Django路由详解

    一.路由基础 1.路由url函数:路由自上而下进行匹配:url(正则路径,视图函数内存地址,默认参数,路由别名) 2.路由正则: 规定开始:^ | 规定结束:$ #url(r'index', view ...

随机推荐

  1. Maven 打包项目 部署到服务器 重启服务 插件

    1.maven插件wagon-maven-plugin自动部署远程Linux服务器  (http://xxgblog.com/2015/10/23/wagon-maven-plugin/) <p ...

  2. 鱼骨时间轴案例(转自CSDN,原文链接附于文中)

    $.fn.fishBone = function(data) { var colors = ['#F89782','#1A84CE']; /**入口*/ //1.创建dom $(this).child ...

  3. [转]使用screw plus来保护php代码安全

    原文链接 https://www.jianshu.com/p/f6425e2f8643 https://github.com/del-xiong/screw-plus http://git.oschi ...

  4. 用eclipse创建动态web项目手动生成web.xml方法

    建一个web项目,后来在用到web.xml文件时,才发现项目创建时没有自动创建web.xml文件. 在创建的项目上单击右键,然后单击java EE Tools下的用红线圈住的地方,然后查看你的WEB- ...

  5. 2019-04-28——Django学习

    1.Django: Python Web应用开发框架,Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构.以及全功能的管理后 ...

  6. java数据结构分析

    java数据结构分析 此文章内容参考于:http://www.cnblogs.com/ysocean/ 一.数据结构总览图 1.数组 2.链表 3.栈 4.队列 5.二叉树 6.堆 7.散列 8.红黑 ...

  7. java中解析excel 批量插入数据库

    Facade 层 实现类 (@Service("samePeriodModelImportFacade")) 1.  获取cells 的方法 public Cells getCel ...

  8. dwr去除默认错误弹窗

    在开发中,我实在不希望dwr弹出alter,只需要打印错误日志就可以,客户端不需要alert出error或者a server error has occurred. 这样的提示,更不需要alert出堆 ...

  9. 使用idea的springboot项目出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    参考: https://www.cnblogs.com/lfm601508022/p/InvalidBoundStatement.html https://blog.csdn.net/xsggsx/a ...

  10. 【转】RabbitMQ基础——和——持久化机制

    这里原来有一句话,触犯啦天条,被阉割!!!! 首先不去讨论我的日志组件怎么样.因为有些日志需要走网络,有的又不需要走网路,也是有性能与业务场景的多般变化在其中,就把他抛开,我们只谈消息RabbitMQ ...