返回顶部
首页 > 资讯 > 后端开发 > Python >django路由基本使用-6
  • 424
分享到

django路由基本使用-6

路由django 2023-01-30 22:01:30 424人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

路由定义位置 Django的路由是定义在 urls.py 文件下的 urlpatterns 列表中的。 urls.py 文件是路由解析的入口。 from djanGo.conf.urls import url from . import

路由定义位置

Django的路由是定义在 urls.py 文件下的 urlpatterns 列表中的。 urls.py 文件是路由解析的入口。

from djanGo.conf.urls import url
from . import views

urlpatterns = [
    url(r'^', views.index, name="index")
]

一般每个子应用为了独立,都有自己的 urls.py 来保存该应用的路由,然后使用 include 函数把子路由包含在主路由中。

# 子路由
from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^', views.index, name="index")
]
# 使用include函数把子路由包含在主路由中
from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^demo/', include("demo.urls"))
]

也可以把所有的路由都定义在主路由中,子应用不再设置。

from django.conf.urls import url
from django.contrib import admin

from demo.views import index

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^demo/', index)
]

路由的解析顺序

django的路由解析是从上到下的,django接收到一个请求后,他会从主工程的路由文件中 urls.py下的 urlpatterns 列表从上到下匹配,匹配到一个符合规则的路由,会执行后边的函数。如果后边是 include 函数,则会进入包含的子路由中,从上到下匹配。

如果django匹配到一个符合规则的路由,会立即执行后面的函数,而不会继续向下执行。所以,当上边的匹配规则如果包含了下边的规则,可能会把下边的路由屏蔽掉。

urlpatterns = [
    url(r'^say', views.say),
    url(r'^sayhello', views.sayhello),
]

即使访问 sayhello 路径,他也会进入到 say 函数执行,因为他先匹配成功了 say 的路由规则。

所以定义路由规则描述要准确,或者用 / 结尾。

路由命名

在定义路由的时候,可以指定第三个参数,来为路由起别名

  1. 使用 include 定义的路由时,在 include 函数中使用关键字参数 namespace 定义命名空间
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^demo/', include("demo.urls", namespace="demo"))
]
- 命名空间的作用:避免不同应用中的路由使用了相同的名字发生冲突,使用命名空间区别开。
  1. 只使用 url 定义路由时,使用关键字参数 name 定义路由名字
urlpatterns = [
    url(r'^', views.index, name="index")
]

reverse反解析

使用reverse函数,可以根据路由名称,返回具体的路径,如:

from django.core.urlresolvers import reverse  # 注意导包路径

def index(request):
    return HttpResponse("hello world!")

def say(request):
    url = reverse('users:index')  # 返回 /users/index/
    print(url)
    return HttpResponse('say')
  • 对于未指明namespace的,reverse(路由name)

  • 对于指明namespace的,reverse(命名空间namespace:路由name)

--结束END--

本文标题: django路由基本使用-6

本文链接: https://lsjlt.com/news/180011.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • django路由基本使用-6
    路由定义位置 django的路由是定义在 urls.py 文件下的 urlpatterns 列表中的。 urls.py 文件是路由解析的入口。 from django.conf.urls import url from . import ...
    99+
    2023-01-30
    路由 django
  • 路由react-router-dom的基本使用教程
    目录react-router-dom路由简介react-router-dom路由的基本使用设置默认路由常用组件介绍Router组件路由的执行过程编程式导航匹配模式模糊匹配-默认rea...
    99+
    2023-02-02
    路由react-router-dom的使用 路由react-router-dom react-router-dom使用
  • Angular路由基本使用方法有哪些
    这篇文章主要讲解了“Angular路由基本使用方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Angular路由基本使用方法有哪些”吧!1. 摘要简单来说地址栏中,不同的地址(URL...
    99+
    2023-07-04
  • Django框架之路由怎么使用
    这篇文章主要介绍“Django框架之路由怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Django框架之路由怎么使用”文章能帮助大家解决问题。简介路由简单的来说就是根据用户请求的 URL 链...
    99+
    2023-07-02
  • 详解react-navigation6.x路由库的基本使用
    目录react-native项目初始化安装react-native项目react-navigation路由库安装使用路由库路由跳转与路由传参设置路由标题自定义标题组件标题按钮reac...
    99+
    2024-04-02
  • 详解vue route介绍、基本使用、嵌套路由
    目录前言一、介绍、安装1.定义2.安装二、基本使用(代码后赋)三、嵌套路由1.布局逻辑2.效果展示3.代码四、注意前言 想要学习完整内容请关注主页的专栏——&...
    99+
    2024-04-02
  • golang微服务框架基础Gin基本路由使用详解
    目录概述1. 基本路由2. 路由参数获取URL路径全部参数获取URL路径单个参数获取URL中指定的参数获取指定默认值的参数的概述 路由是自定义url地址执行指定的函数,良好的路由定义...
    99+
    2024-04-02
  • Angular路由的基本用法是什么
    这篇文章主要讲解了“Angular路由的基本用法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Angular路由的基本用法是什么”吧!环境:Angul...
    99+
    2024-04-02
  • Django框架之路由用法
    简介 路由简单的来说就是根据用户请求的 URL 链接来判断对应的处理程序,并返回处理结果,也就是 URL 与 Django 的视图建立映射关系。 Django 路由在 urls.py...
    99+
    2024-04-02
  • Python之Django的基本使用
    一:Django虚拟环境搭建 先在本地创建一个用来存放项目的路径进入创建好的路径,创建虚拟环境 python -m venv djenv # 1.创建虚拟环境,djenv名称随意 进入虚拟环境 #so...
    99+
    2023-09-06
    python django 开发语言
  • react-navigation6.x路由库的基本使用方法是什么
    这篇文章主要讲解了“react-navigation6.x路由库的基本使用方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react-navigation6.x路由库的基本使用方法是...
    99+
    2023-06-25
  • H3C路由设备基本配置(一)
    H3C路由设备基本配置一、用户视图   <H3C>system-view 进入系统视图   <H3C> 显示当前视图下可以使用的命令   <H3C>display version 显示设备操作系统的版本、...
    99+
    2023-01-31
    路由 基本配置 设备
  • Django零基础入门之路由path和re_path详解
    目录urls.py文件中的path和re_path1.path的基本规则:2.默认支持的转换器有:3.re_path正则匹配:Django中实战使用path和re_path1.url...
    99+
    2024-04-02
  • Django基本使用方法是什么
    这篇文章主要介绍“Django基本使用方法是什么”,在日常操作中,相信很多人在Django基本使用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Django基本使用方法是什么”的疑惑有所帮助!接下来...
    99+
    2023-06-04
  • PHP laravel实现基本路由配置详解
    目录1.路由的基本介绍2.有效的路由方法3.路由重定向4.路由参数5.路由分组6.兜底路由7.频率限制8.获取当前访问路由属性在使用laravel之前我一直在使用thinkphp还有...
    99+
    2022-11-13
    PHP laravel路由配置 laravel 路由配置 PHP laravel
  • Django路由反向解析的作用是什么
    这篇文章主要介绍“Django路由反向解析的作用是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Django路由反向解析的作用是什么”文章能帮助大家解决问题。反...
    99+
    2024-04-02
  • Angular6.0如何使用路由
    这篇文章主要介绍了Angular6.0如何使用路由,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。第一步:创建一个路由文件.通过指令ng g ...
    99+
    2024-04-02
  • 如何使用vue路由
    小编给大家分享一下如何使用vue路由,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!概念路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地...
    99+
    2023-06-28
  • Vue路由怎么使用
    这篇文章主要介绍“Vue路由怎么使用”,在日常操作中,相信很多人在Vue路由怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue路由怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!在Vue中...
    99+
    2023-06-04
  • Python3控制路由器——使用requests重启极路由.py
    通过本文给大家介绍Python3控制路由器——使用requests重启极路由.py的相关知识,代码写了相应的注释,以后再写成可以方便调用的模块。 用fiddler抓包可以看到很多HTTP头,经过尝试发现不是...
    99+
    2022-06-04
    重启 路由 路由器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作