当前位置: 首页 > news >正文

我先做个网站怎么做的常德本地网络论坛

我先做个网站怎么做的,常德本地网络论坛,wordpress 3.9 上传,wordpress内链添加位置简介 路由简单的来说就是根据用户请求的 URL 链接来判断对应的处理程序#xff0c;并返回处理结果#xff0c;也就是 URL 与 Django 的视图建立映射关系。 Django 路由在 urls.py 配置#xff0c;urls.py 中的每一条配置对应相应的处理方法。 Django 不同版本 urls.py 配…简介 路由简单的来说就是根据用户请求的 URL 链接来判断对应的处理程序并返回处理结果也就是 URL 与 Django 的视图建立映射关系。 Django 路由在 urls.py 配置urls.py 中的每一条配置对应相应的处理方法。 Django 不同版本 urls.py 配置有点不一样 1、Django1.1.x 版本 url() 方法普通路径和正则路径均可使用需要自己手动添加正则首位限制符号。 ? 1 2 3 4 5 6 from django.conf.urls import url # 用 url 需要引入 urlpatterns [     url(r^admin/$, admin.site.urls),     url(r^index/$, views.index), # 普通路径     url(r^articles/([0-9]{4})/$, views.articles), # 正则路径 ] 2、Django 2.2.x 之后的版本 path用于普通路径不需要自己手动添加正则首位限制符号底层已经添加。re_path用于正则路径需要自己手动添加正则首位限制符号。 ? 1 2 3 4 5 6 from django.urls import re_path # 用re_path 需要引入 urlpatterns [     path(admin/, admin.site.urls),     path(index/, views.index), # 普通路径     re_path(r^articles/([0-9]{4})/$, views.articles), # 正则路径 ] 总结Django1.1.x 版本中的 url 和 Django 2.2.x 版本中的 re_path 用法相同。 二、正则路径中的分组 1、正则路径中的无名分组 无名分组按位置传参一一对应。 views 中除了 request其他形参的数量要与 urls 中的分组数量一致。 urls.py ? 1 2 3 4 urlpatterns [     path(admin/, admin.site.urls),     re_path(^index/([0-9]{4})/$, views.index), ] views.py ? 1 2 3 4 from django.shortcuts import HttpResponse def index(requestyear): print(year) # 一个形参代表路径中一个分组的内容按顺序匹配 return HttpResponse(菜鸟教程) 2、正则路径中的有名分组 语法 ? 1 (?P组名正则表达式) 有名分组按关键字传参与位置顺序无关。 views 中除了 request其他形参的数量要与 urls 中的分组数量一致 并且 views 中的形参名称要与 urls 中的组名对应。 urls.py ? 1 2 3 4 urlpatterns [     path(admin/, admin.site.urls),     re_path(^index/(?P[0-9]{4})/(?P[0-9]{2})/$, views.index), ] views.py ? 1 2 3 4 from django.shortcuts import HttpResponse def index(request, year, month): print(year,month) # 一个形参代表路径中一个分组的内容按关键字对应匹配 return HttpResponse(菜鸟教程) 3、路由分发(include) 存在问题Django 项目里多个app目录共用一个 urls 容易造成混淆后期维护也不方便。 解决使用路由分发include让每个app目录都单独拥有自己的 urls。 步骤 1、在每个 app 目录里都创建一个 urls.py 文件。2、在项目名称目录下的 urls 文件里统一将路径分发给各个 app 目录。 ? 1 2 3 4 5 6 7 from django.contrib import admin from django.urls import path,include # 从 django.urls 引入 include urlpatterns [     path(admin/, admin.site.urls),     path(app01/, include(app01.urls)),     path(app02/, include(app02.urls)), ] 在各自 app 目录下写自己的 urls.py 文件进行路径跳转。 app01 目录: ? 1 2 3 4 5 from django.urls import path,re_path from app01 import views # 从自己的 app 目录引入 views urlpatterns [     re_path(r^login/(?Pm[0-9]{2})/$, views.index, ), ] app02 目录: ? 1 2 3 4 5 from django.urls import path,re_path from app02 import views # 从自己的 app 目录引入views urlpatterns [     re_path(^xxx/(?P[0-9]{4})/$, views.xxx), ] 在各自 app 目录下的 views.py 文件中写各自的视图函数。 三、反向解析 随着功能的增加路由层的 url 发生变化就需要去更改对应的视图层和模板层的 url非常麻烦不便维护。 这时我们可以利用反向解析当路由层 url 发生改变在视图层和模板层动态反向解析出更改后的 url免去修改的操作。 反向解析一般用在模板中的超链接及视图中的重定向。 1、普通路径 在 urls.py 中给路由起别名name路由别名。 ? 1 path(login1/, views.login, namelogin) 在 views.py 中从 django.urls 中引入 reverse利用 reverse(路由别名) 反向解析: ? 1 return redirect(reverse(login)) 在模板 templates 中的 HTML 文件中利用 {% url 路由别名 %} 反向解析。 ? 1 form action{% url login %} methodpost 2、正则路径无名分组 在 urls.py 中给路由起别名name路由别名。 ? 1 re_path(r^login/([0-9]{2})/$, views.login, namelogin) 在 views.py 中从 django.urls 中引入 reverse利用 reverse(路由别名args(符合正则匹配的参数,)) 反向解析。 ? 1 return redirect(reverse(login,args(10,))) 在模板 templates 中的 HTML 文件中利用 {% url 路由别名 符合正则匹配的参数 %} 反向解析。 ? 1 form action{% url login 10 %} methodpost 3、正则路径有名分组 在 urls.py 中给路由起别名name路由别名。 ? 1 re_path(r^login/(?Pyear[0-9]{4})/$, views.login, namelogin) 在 views.py 中从 django.urls 中引入 reverse利用 reverse(路由别名kwargs{分组名:符合正则匹配的参数}) 反向解析。 ? 1 return redirect(reverse(login,kwargs{year:3333})) 在模板 templates 中的 HTML 文件中利用 {% url 路由别名 分组名符合正则匹配的参数 %} 反向解析。 ? 1 form action{% url login year3333 %} methodpost 四、命名空间 命名空间英语Namespace是表示标识符的可见范围。 一个标识符可在多个命名空间中定义它在不同命名空间中的含义是互不相干的。 一个新的命名空间中可定义任何标识符它们不会与任何重复的标识符发生冲突因为重复的定义都处于其它命名空间中。 存在问题路由别名 name 没有作用域Django 在反向解析 URL 时会在项目全局顺序搜索当查找到第一个路由别名 name 指定 URL 时立即返回。当在不同的 app 目录下的urls 中定义相同的路由别名 name 时可能会导致 URL 反向解析错误。 解决使用命名空间。 普通路径 定义命名空间include 里面是一个元组格式如下 ? 1 include((app名称urlsapp名称)) 实例 ? 1 2 path(app01/, include((app01.urls,app01))) path(app01/, include((app02.urls,app02))) 在 app01/urls.py 中起相同的路由别名。 ? 1 path(login/, views.login, namelogin) 在 views.py 中使用名称空间语法格式如下 ? 1 reverse(app名称路由别名) 实例 ? 1 return redirect(reverse(app01:login) 在 templates 模板的 HTML 文件中使用名称空间语法格式如下 ? 1 {% url app名称路由别名 %} 实例 ? 1 form action{% url app01:login %} methodpost
http://www.sadfv.cn/news/124855/

相关文章:

  • 简单的网站架构wordpress+大附件
  • 网站静态页面下载工具wordpress邮箱登录
  • 网站建设积分番禺核酸检测点在哪
  • 合肥php网站开发html5教程视频教程
  • h5免费制作网站模板青岛做网站建设的公司
  • 电影网站建设教学视频大连建设工程信息网(官网)
  • 建站排名新手如何做企业网站
  • dj音乐网站建设怎么注册公司名字和商标
  • 网站开发要写代码吗广州天河区网站设计公司
  • 最专业的手机网站建设网页搜索引擎
  • 上海好的高端网站建设wordpress php占内存
  • 网站专题页优化wordpress 入侵视频
  • 濮阳信息网更换模板对网站seo的影响
  • 关于网站建设调查问卷做网站需要那些技术
  • photoshop画简单网站腾讯云如何创建网站
  • 动力无限做网站怎样水利建设管理司网站
  • 返佣网站都是自己做的广州站电话
  • 杭州网络公司建网站南昌网站建设方案维护
  • 常平网站公司免费商城自助建站
  • 衡水做网站公司做寻亲网站的理由
  • 网站建设引流刘贺稳1wordpress必备
  • 17网站一起做网店广州短视频推广营销
  • 网页加入信任站点小米发布会汽车
  • 悠悠我心个人网站模板外贸类网站建设
  • 淘宝网站建设的详细策划网站开发需求大吗
  • wordpress网站变灰网站底部给网站地图做链接
  • 个人信息网站htmlflash网站代码下载
  • 六站合一的优势綦江网站建设
  • 福州网站建设哪家好石家庄市环保局网站建设项目备案系统
  • 做网站是用源码还是模版中小公司做网站