美文网首页
Django的路由系统

Django的路由系统

作者: 旅行_中 | 来源:发表于2019-07-17 11:18 被阅读0次
基本格式
from django.conf.urls import url
urlpatterns = [
     url(正则表达式, views视图函数,参数,别名),
     #1、正则表达式:一个正则表达式字符串
     #2、views视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数.   路径的字符串
     #3、参数:可选的要传递给视图函数的默认参数(字典形式)
     #4、别名:一个可选的name参数
]
#例子
urlpatterns = [
    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),
]
分组命名匹配

在Python的正则表达式中,分组命名正则表达式组的语法是(?P<name>pattern),其中name是组的名称,pattern是要匹配的模式。

from django.urls import path, re_path
from . import views
urlpatterns = [
    path('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),
]
URLconf匹配的位置

URLconf 在请求的URL 上查找,将它当做一个普通的Python 字符串。不包括GET和POST参数以及域名。
例如,http://www.example.com/myapp/ 请求中,URLconf 将查找myapp/。
http://www.example.com/myapp/?page=3 请求中,URLconf 仍将查找myapp/。
URLconf 不检查请求的方法。换句话讲,所有的请求方法 —— 同一个URL的POST、GET、HEAD等等 —— 都将路由到相同的函数。

命名URL和URL反向解析

可以给我们的URL匹配规则起个名字,一个URL匹配模式起一个名字。
这样我们以后就不需要写死URL代码了,只需要通过名字来调用当前的URL。

url(r'^home', views.home, name='home'),  # 给我的url匹配模式起名为 home
url(r'^index/(\d*)', views.index, name='index'),  # 给我的url匹配模式起名为index

#在模板里面可以这样引用:
{% url 'home' %}
#在views函数中可以这样引用:
from django.urls import reverse
reverse("index", args=("2018", ))

相关文章

  • 4.Django路由系统

    Django路由系统 URL调度器Django 允许自由地设计你的URL,不受框架束缚。Django认为,对于高质...

  • Django路由系统

    python django官方文档地址:https://docs.djangoproject.com/zh-han...

  • Django路由系统

    1.url是全球统一资源定位符 2.django的路由系统当一个请求来到时1.首先到项目目录下的urls.py (...

  • Django路由系统

    路由系统 获取url上的参数 路径参数(简书) 路径参数的使用 自定义路径参数 re_path 渲染模板 配置模板...

  • Django的路由系统

    官方文档:URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图...

  • Django的路由系统

    基本格式 分组命名匹配 在Python的正则表达式中,分组命名正则表达式组的语法是(?Ppattern...

  • rest_framework 路由器

    rest_framework的路由器是为django的路由系统服务的,不使用rest_framework的路由器我...

  • Django中app分组

    django中app分组 一.django路由系统app进行分组 1.创建app 使用pycharm创建djang...

  • Django框架路由系统

    路由系统(controller) 路由系统(URL配置)它就是URL与要为该URL调用的视图函数之间的映射表,也就...

  • Django drf 路由系统

    路由系统 路由系统可以自动完成增删改查,如果只是增删就不太需要引用

网友评论

      本文标题:Django的路由系统

      本文链接:https://www.haomeiwen.com/subject/twaflctx.html