Django中url、path、re_path的区别
新手不知道如何设置路由。他不确定是使用url
还是path
。今天我们就一起来研究一下。
1。常用方法介绍
Django框架提供了多种生成urlpattern
对象的方法。以下是一些较常见的情况。
1。 include()方法
该方法的目的是避免将所有显示函数放在项目文件夹的根文件urls.py中。
『例如:』
2. url() 方法
url(regex, view, kwargs=None, name=None)
此方法将返回一个 urlpatterns
对象。通过源码我们发现本质还是调用 re_path
方法,Django
不再推荐这种用法。
如果您将来看到此路由方法有效,请不要感到惊讶。只要知道它可以这样使用就可以了。
3。 path()方法
创建项目时默认使用这个,可见官方也是推荐的。
path(route, view, kwargs=None, name=None)
此方法返回一个具有多个参数的urlpatterns
对象。参数含义如下:
route
:表示匹配的url。此参数是必需的。
view
:表示路由调用的对象,可以是具体函数的形式。
kwargs
:可以将任意数量的变量以字典的形式传递给目标显示函数。
name
:用于定义路由别名。
4。 re_path()方法
如果有正则路由匹配的需求,可以使用re_path
。
path(route, view, kwargs=None, name=None)
route
:只有正则表达式匹配,才会将相关的正则表达式捕获组信息传递给路由调用的对象。此参数是必需的。
view
:用于表示路由调用的对象,可以体现为具体的函数形式或者视图类的as_view()方法调用的结果。
kwargs
:可以将任意数量的变量以字典的形式传递给目标显示函数。
name
:用于定义路由别名。
其他还有:register_converter()
,该方法是注册自定义转换器; static()
方法加载相关的静态资源信息。? 。
# 创建工程和应用
django-admin startproject BookInfo
django-admin startapp Article

如下方法“也”创建项目和应用:
python -m django startproject blog
python -m django startapp article

项目代码如下

启动Django服务❀❀❀ 1. 9000 当你如果看到下图,说明服务已经正常启动。 ?显示 文件。 ? :』
输入以下四个地址:http://127.0.0.1:9000/path/、http://127.0.0.1:9000/repath1/、http://127.0.0.1:9000/url1/、一切都会出现结果如下图所示:
「path()方法不支持普通模式」,如下图:
「示例2:」
回车以下四个地址:http://127.0.0.1:9000/repathA100/、http://127.0.0.1:9000/urlA100/、http://127.0.0.1:9000/repathAA100/、http://127.0。 0.1:9000/urlAA100/,都会出现下图所示的结果。
『示例3:』
输入以下三个地址:http://127.0.0.1:9000/repathM/ 或 http://127.0.0.1:9000/urlM/, http://127.0.01 。 :9000/pathM/,就会出现下图所示的结果:
4。简单总结一下
如果遇到“路径”和“转换器”语法(类似>)不足以定义 URL
- 模式,那么你必须使用正则表达式。在这种情况下,您必须使用 re_path()
,而不是 path()
。至于 url()
方法,已被官方弃用。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。