美文网首页
Django2.0中URL的路由机制

Django2.0中URL的路由机制

作者: 极客匠 | 来源:发表于2019-04-24 01:02 被阅读0次

路由是关联url及其处理函数关系的过程。

Django的url路由配置在setting.py文件中ROOT_URLCONF变量制定全局路由文件名称。

ROOT_URLCONF = 'haohaoread.urls'

Django的路由都写在urls.py文件中的urlpatterns的列表中,由path,re_path组成。

Django的URL路由流程如下:

  1. Django查找全局urlpatterns变量
  2. 按照先后顺序,对URL逐一匹配urlpatterns每个元素
  3. 找到第一个匹配时,停止查找,根据匹配结果执行对应的处理函数
  4. 如果没有找到匹配或出现异常,Django进行错误处理。

Django的路由不考虑Http请求方式,只要url相同,无论post、get等哪种请求方式都指向同一个操作函数。

Urlpatterns中的path()处理字符串路由,re_path处理正则表达式路由。

urlpatterns=[

    path(route,views.函数名,向处理函数提供的额外参数,以字典形式表示,该URL模式的别名),

        re_path(正则表达式,view.对应的处理函数)

]

举例如下:

urlpatterns = [
    path('index/', views.Index),
    path('login/', views.Login),
    path('auth/',views.Auth),
    path('getMenu/',views.Menu),
    re_path(r'^userList/(\d*)',views.List)
]

include

当网站功能较多时,需要做模块化处理,通过django-admin startapp app名称,来生成对应的app目录,建一个urls.py文件。

from django.urls import include, path

urlpatterns = [
    path('community/', include('community.urls')),
    path('contact/', include('contact.urls')),
]

子目录contact下的urls.py:

from django.urls import path

from . import views
urlpatterns = [
    path('contacts/', views.Contacts)
]

views.py

from django.shortcuts import render

from django.http import HttpResponse,HttpRequest
# Create your views here.


def Contacts(request):
    return HttpResponse('<p>sdfsfsfs</p>')

这样,模块化处理路由的问题也就此解决。

相关文章

  • Django2.0中URL的路由机制

    路由是关联url及其处理函数关系的过程。 Django的url路由配置在setting.py文件中ROOT_URL...

  • django框架进阶

    @[toc] Django的URL路由机制 Django的URL路由配置 路由是关联URL及其处理函数关系的过程 ...

  • Cowboy的路由机制

    路由机制 配置链接URL到Erlang模块(处理对应请求的模块)的映射就是路由。当 Cowboy接收到一个请求时,...

  • 路由

    基本带参路由 指定参数类型的路由 多URL的路由匹配 允许在一个视图函数中设置多个url的路由规则 路由中设置HT...

  • Python基础(45) - 在Flask中如何使用动态路由

    静态路由与动态路由 路由: URL Path http://localhost/abc/test.html 中的a...

  • ThinkPHP 路由的使用(七)

    在ThinkPHP中的路由主要的用途为: 美化url路径,访问更安全; 可以制定路由规则,检验url请求。 一、路...

  • 0基础自学linux运维-4.8-Web开发中的"路由

    路由就是URL到函数的映射。 在web开发中,“route”是指根据url, 分配到对应的处理程序。 路由: 就是...

  • Django路由层

    路由控制机制介绍它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,当客户...

  • 1-什么是路由以及使用步骤

    前端路由 在web开发中,路由是指根据url分配到对应的处理程序。 vue-router 作用:通过管理url,实...

  • nginx不同需求下的配置nginx.conf

    路由地址中的#去掉后,项目刷新404问题 路由模式为:mode: 'history', //去掉url中的# 反向...

网友评论

      本文标题:Django2.0中URL的路由机制

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