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中<>形参名必须和对应视图函数中形参一致,参数才能传递给视图函数

  

扫描二维码关注公众号,回复: 5671390 查看本文章

  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/回车    

      

猜你喜欢

转载自www.cnblogs.com/WS-Rewind/p/10586325.html