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

宁波网站排名方法/自媒体怎么赚钱

宁波网站排名方法,自媒体怎么赚钱,什么网站是专门做艺术字的,wordpress 网站赏析目录路由系统Django urls.py 配置include 子url路由系统 用户从浏览器发出的请求会首先打到django url的路由分发系统这里,然后再到views视图–》models模型–》template模板–》用户浏览器。 换言之,urls.py 文件主载着你整个网站的所有页面&接口的…

目录

    • 路由系统
    • Django urls.py 配置
    • include 子url

路由系统

用户从浏览器发出的请求会首先打到django url的路由分发系统这里,然后再到views视图–》models模型–》template模板–》用户浏览器。
换言之,urls.py 文件主载着你整个网站的所有页面&接口的url分配。

路由分为两种:静态路由和动态路由
静态路由:已经定义好的锁死了的一条路由,只有输入对应的路径才能访问该路由,如:
只有输入’articles/2003/’ 才能匹配到对应的路由

urlpatterns = [path('articles/2003/', views.special_case_2003),
]

动态路由:定义的只是路由规则,比如只能输入数字、或特定排列、长度的字符等,你不知道用户会具体输入什么,只要符合你的规则即可。比如通过csdn每发篇文章,就会为这篇文章产生一个新的url,这个url肯定不可能是后台程序员手动给你填加的,那他得累死。肯定是他写好规则,比如117173599就代表这个文章编号,这个编号可能是数据库中此文章的id, 这个不管,程序员在定义路由时,只需规定,后面用户输入的url必须是数字就行。

Django urls.py 配置

Django 的路由本质上是通过正则表达式来对用户请求的url进行匹配

from django.urls import re_pathfrom app01 import viewsurlpatterns = [re_path(r'articles/2003/$', views.special_case_2003), # 静态路由re_path(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive), # 动态路由re_path(r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$', views.month_archive), # 动态路由re_path(r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<slug>[\w-]+)/$', views.article_detail), # 动态路由
]  

以上路由对应views.py视图方法

def special_case_2003(request):return HttpResponse("dddd")def year_archive(request,year):return HttpResponse("year_archive" + str(year))def month_archive(request,year,month):return HttpResponse("month_archive %s-%s" %(year,month))def article_detail(request,year,month,slug):return HttpResponse("article_detail %s-%s %s" %(year,month,slug))

在django2.0 更新后,对正则表达式进行了封装

from django.urls import pathfrom . import viewsurlpatterns = [path('articles/2003/', views.special_case_2003),path('articles/<int:year>/', views.year_archive),path('articles/<int:year>/<int:month>/', views.month_archive),path('articles/<int:year>/<int:month>/<slug:slug>/', views.article_detail),

django默认自带的converter已经可以满足你大部分的url匹配需求,但有特殊情况不能满足时,还可以自定义converter。

自定义Path Converter

class FourDigitYearConverter:regex = '[0-9]{4}'def to_python(self, value):return int(value)def to_url(self, value):return '%04d' % value

include 子url

当有多个app时,每个app可以有自己的urls.py, 只需在顶级urls.py中include一下就可以

from django.urls import include, pathurlpatterns = [path('community/', include('blog.urls')),path('contact/', include('apps.urls')),
]

django 在匹配url时,只要遇到include()语法, 就会把url分成2部分,比如上面代码里的url, 只要匹配上community/,就会把整条url丢给include(‘aggregator.urls’)子urls.py。 子urls.py负责匹配后面的部分。

减少重复的url
如果url中出现很多重复的部分,可以按照下面的方法进行聚合

from django.urls import include, pathfrom apps.main import views as main_views
from credit import views as credit_viewsextra_patterns = [path('reports/', credit_views.report),path('reports/<int:id>/', credit_views.report),path('charge/', credit_views.charge),
]urlpatterns = [path('', main_views.homepage),path('help/', include('apps.help.urls')),path('credit/', include(extra_patterns)),
]
http://www.jmfq.cn/news/5138011.html

相关文章:

  • 沈阳的网站建设/长春seo关键词排名
  • 济南长兴建设集团有限公司网站/天津百度关键词推广公司
  • 天津网站开发贴吧/百度在线使用
  • 球赛投注网站开发/响应式网站模板的优势
  • 帝国做视频网站/外贸企业网站推广
  • 男子和美女做bt网站/深圳seo论坛
  • 做一家拍卖网站需要什么资质/色盲测试图数字
  • 网站icp备案代理/下载百度app到桌面
  • html格式的网站地图/万网域名查询注册商
  • 什么查网站是否降权/种子在线资源搜索神器
  • 网站开发工具可视化/晋城网站seo
  • 濮阳网站推广/讯展网站优化推广
  • 郑州网站建设 天强科技/如何搭建一个网站平台
  • 摄影网站免费/网站软文是什么
  • 成都私人做公司网站的/seo搜索引擎优化推荐
  • 广州 网站建设/专业网站建设
  • 家做网站/故事式软文广告300字
  • 网站备案号查询网址/广东疫情最新资讯
  • 宁波网站建设营销推广/东莞百度seo推广公司
  • 北京招聘网站排行/百度收录的网页数量
  • 微网站价格/优化外包哪里好
  • 网站开发的工作职责/新闻稿件
  • 营业执照注册网站/职业培训学校
  • 做动态网站需要学什么/百度sem竞价托管
  • 微信登录界面/重庆seo
  • 深圳专业软件网站建设/网络营销策划案例
  • 未备案网站通知/域名停靠
  • 什么星网站做调查问卷的/无安全警告的浏览器
  • 佛山龙江做网站的/互联网营销是什么意思
  • 网站搭建/windows优化大师如何卸载