gpt4 book ai didi

python - 我什么时候应该使用 'path' 而不是 're_path' ?

转载 作者:太空宇宙 更新时间:2023-11-04 04:16:37 25 4
gpt4 key购买 nike

这是来自 Django Docs 的示例:

from django.urls import include, path

urlpatterns = [
path('index/', views.index, name='main-view'),
path('bio/<username>/', views.bio, name='bio'),
...
]
from django.urls import include, re_path

urlpatterns = [
re_path(r'^index/$', views.index, name='index'),
re_path(r'^bio/(?P<username>\w+)/$', views.bio, name='bio'),
...
]

根据我的理解,path 语法更具可读性,并提供可以从 URL 捕获信息并转换类型的尖括号。

我是否应该在需要正则表达式时使用re_path,而在所有其他情况下使用path

最佳答案

re_path'old' way of handling urls 的一个实现,以前(版本 <2)由 url 完成来自 django.conf.urls

请参阅 Django 2.0 release notes 中的段落关于这个。

也就是说,我建议使用 path只要有可能!

我看到的原因:

  1. path 的引入是为了让事情变得更简单,这显然是 Django 开发者想要走的方向。因此,当您使用 path 时,您将遵循这个方向,从而最大限度地降低必须使您的代码库适应新变化的风险。

  2. 虽然 path 不仅仅是试图让事情变得更简单的结果,但它实际上确实让事情变得更简单和更具可读性,这本身就是为什么 的一个很好的理由如果两个选项都是一个选项,则应首选路径

现在 re_path 存在是有原因的,所以在某些情况下使用 re_path 可能仍然是更好的选择。一种情况显然是需要非常定制的转换器并达到 custom converters for 'path' 可行的极限。 .另一种使用 re_path 的场景可能是将具有相当复杂的 url 转换器的系统从 Django 1.x 升级到 2.x:只需将 url 替换为 re_path 命令可以更省时,因此是一种理想的方法。

关于python - 我什么时候应该使用 'path' 而不是 're_path' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55285814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com