当前位置: 首页 > 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.yutouwan.com/news/124855/

相关文章:

  • 云南建设厅网站职称评定房屋装修效果图整套
  • 做企业网站的公司有哪些个人网站开发赚钱方向
  • sns网站开发怎么做多个域名指向一个网站
  • 公司做网站百度可以搜到吗电子商务网站建设思维导图
  • 网站需要做实名认证如何做c 是用来做网站的吗
  • 建筑行业数据共享平台网站怎么做海淘网站
  • 申通e物流的网站建设获取网站访客qq号码代码
  • 新乡网站自然优化顺德营销型网站一站式服务哪家好
  • 网站建设 网页设计 网站制作百度关键词优化软件怎么样
  • 网站建设编辑叫什么岗位深圳需要做网站的公司有哪些
  • 做我女朋友的表白句的网站开发者账号是干嘛用的
  • 网站盈利方式西安微网站开发
  • 现如今网站开发用什么框架wordpress静态化设置
  • 网站的建设公司哪个好怎么给网站做友情链接
  • 优普南通网站建设2023年度最火关键词
  • 成品网站源码的优化技巧dede查看网站
  • 商城网站的模块设计六安人论坛最新招聘信息
  • 家具网站模板长沙网站的建设
  • 如何设计一个网站页面建站用哪个模板好
  • 提高企业网站的访问率做网站需要的合同
  • 密云网站建设公司重庆seo网络推广平台
  • 浦江网站建设公司开发一个游戏软件多少钱
  • 广西营销型网站建设公司平面设计报价明细表
  • 网站建设岗位职责互联网产品推广是做什么的
  • 做网站专业公司电话网络营销指的是什么意思
  • 外国永久网站wordpress表单邮件回复
  • 福田建网站多少钱建怎么网站比较赚钱
  • 花都网站制作公司求一个dw做的网站
  • 网站备案简介怎么写wordpress5.2多站点设置方法
  • 网站固定通栏代码建设工程施工合同司法解释一