路由称为URL,是对可以从互联网上得到的资源位置和访问方法的一种简洁的表示,是互联网标准资源的地址。互联网上的每个文件都有一个唯一的路由,用于指出网络文件的路径位置。简单说,路由可视为我们常说的网址,每个网址代表不同的网页。

路由基本编写规则如下:

  • from django.contrib import admin :导入内置Admin的功能模块
  • from django.urls import path, include:导入Django的路由功能模块
  • urlpatterns:代表整个项目的路由集合,以列表格式表示,每个元素代表一条路由信息
  • path('admin/', admin.site.urls):设置Admin的路由信息。其中’admin/‘代表127.0.0.1:8000/admin的路由地址,admin后面的斜杠是路径分隔符,其作用等同于计算机文件目录的斜杆符号
  • admin.site.urls指向内置Admin功能所定义的路由信息。
  • path("", index('index.urls')):路由地址为"\",即127.0.0.1:8000,通常是网站的首页;路由函数include将该路由信息分发给index的urls.py处理。

路由列表由urlpatterns表示,每个列表元素代表一条路由。

路由的变量类型有字符类型、整型、slug和uuid,最为常用的字符类型和整型,各个类型说明如下:

  • 字符类型:匹配任何非空字符串,但不含斜杠。如果没有指定类型,就默认使用该类型。
  • 整形:匹配0和正整数。
  • slug:可以理解为注释、后缀或附属等概念,常作为路由的解释性字符。可以匹配任何ASCII字符以及连接符和下划线,能使路由更加清晰易懂。
  • uuid:匹配一个uuid格式的对象。为了防止冲突,规定必须使用 破折号” - “ 并且所有字母必须小写。

除了在路由地址设置变量外,Django还支持在路由地址外设置变量(路由的可选变量)。

路由的正则表达式由路由函数re_path定义,其作用是对路由变量进行截取与判断。

命名空间namspace可以帮我们快速定位某个项目应用的urls.py,再结合路由命名name就能快速地从项目应用的urls.py找到某条路由的具体信息。

Django的路由命名是对路由进行命名,其作用是在开发过程中可以在视图或模板等其他功能模块里使用路由命名name来生成路由地址。

Django的反向解析主要由函数reverse和resolve实现。

Django的网页重定向有两种方式,第一种是路由重定向,第二种是自定义视图重定向。

Python Django路由urls.py详解相关推荐

  1. 怎么创建python django项目_创建Django项目图文实例详解

    本文实例讲述了创建Django项目的方法.分享给大家供大家参考,具体如下: 创建Django项目 创建一个HelloDjango项目 GitHub地址:https://github.com/liang ...

  2. django批量修改table_python中Django视图(view)的详解(附示例)

    本篇文章给大家带来的内容是关于python中Django视图(view)的详解(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一个视图函数(类),简称视图,是一个简单的Py ...

  3. 【Django】Django配置文件和设计模式详解

    一.安装和卸载 安装:pip install django[==版本] 卸载:pip uninstall django 二.创建和启动项目 django-admin startproject 项目名称 ...

  4. python跨域攻击教学_关于python 跨域处理方式详解

    因为浏览器的同源策略限制,不是同源的脚本不能操作其他源下面的资源,想操作另一个源下面的资源就属于跨域了,这里说的跨域是广义跨域,我们常说的代码中请求跨域,是狭义的跨域,即在脚本代码中向非同源域发送ht ...

  5. Django的MTV模式详解

    参考博客:https://www.cnblogs.com/yuanchenqi/articles/7629939.html 一.MVC模型 Web服务器开发领域里著名的MVC模式. 所谓MVC就是把W ...

  6. django配置环境linux,linux环境下Django的安装配置详解

    linux环境下Django的安装配置详解 1. 下载安装Django pip install Django==1.6.5 测试是否安装成功 >>> import django> ...

  7. python怎么导入文件-Python文件如何引入?详解引入Python文件步骤

    python基本语法--引入Python文件 1.新建python文件 :在同目录lib下创建mylib.py和loadlib.py两个文件 2.在mylib.py文件中创建一个Hello的类 并且给 ...

  8. python语言入门详解-python初级教程:入门详解

    python初级教程:入门详解 Crifan Li 目录 前言 .................................................................... ...

  9. python的用途实例-python assert的用处示例详解

    使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单.在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件 ...

最新文章

  1. 东北农业大学农学院程晓非教授荣获植物病毒学国家“优青”资助
  2. 零基础学oracle pdf_零基础学动漫插画详细步骤大全
  3. ReactiveCocoa个人记录
  4. ACCESS中的Update语句不支持Select的解决办法
  5. linux ldap客户端工具,OpenLDAP 客户端安装部署
  6. matlab数学实验结课作业答案,matlab数学实验第一次答案
  7. KD_Tree 算法
  8. ModelArts的雪中送炭,让我拿下CCF BDCI华为Severless工作负载预测亚军
  9. SegNet网络结构
  10. 【方案分享】2022数据湖建设方案:“七步走”解决企业面临的数字化转型痛点.pdf(附下载链接)...
  11. ActiveMq生产者流量控制(Producer Flow Control)
  12. 机器 学习中的方差和偏差
  13. noip2019集训测试赛(二)
  14. axture动画原型制作_AxureUX手机移动端交互原型通用模板精简版
  15. 第六章、正弦稳态电路分析
  16. opengl+openmesh重绘rabbit
  17. yarn : 无法加载文件 C:\Users\wangxin67\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.mic
  18. Git详解之一 Git起步
  19. python对整数进行因数分解_浅谈将一个正整数分解质因数的逻辑思维和Python开发设计...
  20. 《数据结构(C语言版)》严巍敏课件~第七章:图

热门文章

  1. 在南宁读书的第一次外出游玩记
  2. cocos creator 实现手机震动的效果(最全说明)
  3. v20云计算机电脑脑,荣耀V20的云电脑模式怎么样?
  4. 微信支付开发(7) 告警通知
  5. 中国移动苏州研发中心消息队列高可用设计之谈 | SOFAStack 用户说
  6. CMake官方教程中文翻译
  7. 夸克浏览器有没有linux,我手机上唯一的浏览器——夸克浏览器
  8. 解决flutter doctor卡住的问题
  9. NGUI自定义图集和自定义字体
  10. 20221105新手老手怎么把网站权重提高收录提高最新php轻量级插件网站权重8怎么上去的seo到底怎么做看完本视频你就懂了许多了本插件适合所有网站所有cms长河网zhetiaohe源码无加密