IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Django的URL分发 -> 正文阅读

[Python知识库]Django的URL分发

Django的URL分发

URL:统一资源定位符,是互联网资源的网络地址,简称网址,在互联网中,每一个文件都有着唯一的地址。

一般格式为协议://域名:端口号/路径/文件名.
每当在浏览器的网址栏中输入网址时,浏览器就会使用这个地址,进行寻找,并把地址中包含的信息返回到客户端
。 但因为URL所指向的就是网络资源,会直接暴露的真实的资源位置,增减了危险因素。

????在Django中,提供了非常灵活的URL分发机制,允许用户使用任意格式的URL“路径/文件名“部分。
Django的URL与文件的实际位置无关,格式灵活。
因为一些Django项目拥有多个页面,这样就会导致urls文件的”笨重“,为了解决这个问题,Django有着
非常便利的URL分发技术。

Django的URL分发原理

在任何一个Django项目中,都有着一个根目录,其中就包含着Django项目的基本配置,其中就包括着URL的指向
setting.py文件中,ROOT_URLCONF参数就代表着Django项目的根URL配置模块,负责着整个项目的URL解析。
默认ROOT_URLCONF = '项目名.urls'
qZwT0J.png
在urls.py文件中,又有urlpatterns的参数,其中就包含着URL模式列表,Django会
按照顺序进行匹配,直到匹配到对应的URL,接着Django就会调用匹配到的URL所映射的视图函数,将函数返回值呈现给前端。
qZsaM6.png
若在URL列表中并没有匹配成功或者位置有问题,Django就会自动调用错误处理视图。
Django在执行URL分发操作时,首先加载的是根URL配置模块,不会直接访问应用的urls.py文件,所以在实际项目中,在根urls.py文件中需要加载应用的urls.py文件,
一般会使用include()函数将应用的urls.py文件加载到根urls.py文件中。

值得注意的是,在使用指令创建一个应用时,Django并不会自动的创建一个urls文件,需要手动创建。
根urls文件

from django.urls. import path, include
...

urlpatterns = [
    path('root/', include(应用.urls)),
    ...
]

应用urls文件

from django.urls. import path
...

urlpatterns = [
    path('index/', 视图函数),
    ...
]

首先会在根urls文件下查找对应URL,当匹配到”root/“就会通过include()
将匹配条件发送到应用urls文件中继续匹配 ”index/“

URL的反向解析

反向解析URL指通过URL模式的名称或视图函数名称,来获得视图函数的URL。

  • django.urls.reverse()函数用于获取反向解析URL。

在视图文件中设计一个index()函数,用来反向解析URL,urls文件中使用reverse()函数进行反向解析URL。
views文件

from django.urls import reverse
def index(request):
    return HttpResponse("请求的URL路径为:%s" % reverse("urlNoPara"))

urls文件

from django.urls import path
...
urlpatterns = [
    ...
    path('index/', itemPoolView.index, name="urlNoPara"),
]

则访问index/时,就会对应到index视图函数,并返URL。

qZ4QpD.png

Django的URL分发机制将用户访问的URL与实现输出页面的视图函数、模板、模型等隔离,
也在一定程度上保障了站点安全。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 20:45:38  更:2022-03-21 20:46:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:49:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码