URL分发机制简介

简介: URL分发机制简介。

URL的基本格式为“协议://域名或IP地址/路径/文件名”。
域名或IP地址在Web服务器中分配给Web站点。
路径是网络资源在Web服务器中的逻辑路径。
文件名通常与网络资源的物理文件名一致。
例如,http://jxjy.xhu.edu.cn/85/15/ c2647a99605/page.htm。
其中:
http是访问WWW服务的常用
“jxjy.xhu.edu.cn”是域名
“85/15/c2647a99605”是文件“page.htm”在Web服务器中的路径。
Django提供了灵活的URL分发机制,允许用户使用任意格式的URL“路径/文件名”部分。
Django接收到请求的URL时,开始执行URL分发,按顺序执行下列操作。
(1)启用根URL配置模块。根URL配置模块由项目配置文件settings.py中的ROOT_URLCONF变量设置。例如,ROOT_URLCONF = 'HelloWorld.urls'。
(2)加载根URL配置模块,并查找变量urlpatterns。urlpatterns是一个URL模式列表,每个列表项是一个django.urls.path()或django.urls.re_path()实例,示例代码如下。
urlpatterns = [
path('',views.hello,name='hello'),
re_path(r'^\d{2,}$',useRe_View.NumberInUrl), ]
(3)按顺序遍历每个URL模式,在找到与请求的URL相匹配的第一个模式时停止。
(4)Django调用匹配的URL模式所映射的视图函数,将函数返回值作为响应结果返回给用户。视图函数接收下列参数:
一个HttpRequest对象实例:它封装了客户端请求的相关信息。
URL参数:如果匹配的URL模式中嵌套了变量,则将URL路径中的匹配内容赋值给变量,将其作为参数传递给视图函数。
kwargs参数:向视图函数传递其他参数值。
(5)如果没有找到匹配的URL模式,或者此过程中的任何位置引发错误,Django将调用错误处理视图。
默认情况下,Django会为项目创建一个urls.py文件,将其作为URL配置模块,也称为根URL配置模块。
Django将URL配置称为URLconf。
通常情况下,项目的URL配置模块放在与项目同名的子文件夹中。
例如,在myDjango项目中,“myDjango\myDjango\urls.py”为项目URL配置模块。
项目应用也可以使用自己的URL配置模块。
例如,“myDjango\first\urls.py”为项目应用first的URL配置模块。URL配置模块的文件名按惯例使用urls.py,也可以使用其他的文件名。

相关文章
|
7月前
|
Python
URL命名空间简介
URL命名空间简介。
125 1
|
数据可视化 Python
Python Flask Echarts数据可视化图表实战晋级笔记(3)Blueprint蓝图解决单文件url分发
Python Flask Echarts数据可视化图表实战晋级笔记(3)Blueprint蓝图解决单文件url分发
106 0
|
Web App开发 搜索推荐 开发者
Flask 路由处理 URL 路径末尾带斜线或不带斜线机制
Flask 路由处理 URL 路径末尾带斜线或不带斜线机制
312 0
|
缓存 网络协议 Java
网络基础 HTTP协议之http url简介
网络基础 HTTP协议之http url简介
163 0
02 # URL 简介
02 # URL 简介
158 0
|
JSON 程序员 数据格式
retrofit动态设置URL采用反射机制解决
前几天开发项目的时候碰到一件比较头疼的事,就是获取json数据的主域名不一样,最简单粗暴的方法就是重新写一份retrofit,但这是十分低效的,写重复性代码就程序员最不想做的一件事之一,所以找了好多文章,最后找到了一个反射机制解决此问题的
182 0
Flutter 插件url_launcher简介及使用,打开外部浏览器,拨打电话,发送短信,打开微信,支付宝,qq等
Flutter 插件url_launcher简介及使用,打开外部浏览器,拨打电话,发送短信,打开微信,支付宝,qq等
1059 0
Flutter 插件url_launcher简介及使用,打开外部浏览器,拨打电话,发送短信,打开微信,支付宝,qq等
|
.NET Java 开发框架
二:理解ASP.NET的运行机制(例:基于HttpHandler的URL重写)
url重写就是把一些类似article.aspx?id=28的路径重写成 article/28/这样的路径 当用户访问article/28/的时候我们通过asp.net把这个请求重定向到article.
816 0
|
3月前
|
前端开发 JavaScript
前端JS截取url上的参数
文章介绍了两种前端JS获取URL参数的方法:手动截取封装和使用URLSearchParams。
61 0