当前位置: 首页 > 面试题库 >

对于django 2.0,在urls.py中使用path()或url()更好吗?

哈雅珺
2023-03-14
问题内容

在django在线课程中,讲师让我们使用该url()函数调用视图并使用urlpatterns列表中的正则表达式。我在YouTube上看到了其他示例。例如

from django.contrib import admin
from django.urls import include
from django.conf.urls import url

urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'^polls/', include('polls.urls')),
]


#and in polls/urls.py

urlpatterns = [        
    url(r'^$', views.index, name="index"),
]

但是,在阅读Django教程时,他们path()改用例如:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name="index"),        
]

此外,正则表达式似乎不适用于该path()函数,因为使用path(r'^$', views.index, name="index")将找不到mysite.com/polls/视图。

是否使用path()没有正则表达式匹配的正确方法前进?是url()更强大,但更复杂,所以他们正在使用path()与开始我们吗?还是针对不同工作使用不同工具的情况?


问题答案:

从Django文档获取url

url(regex, view, kwargs=None, name=None)此函数是的别名django.urls.re_path()。在将来的版本中可能不推荐使用。

path和之间的主要区别re_pathpath使用不带正则表达式的路由

你可以re_path用于复杂的正则表达式调用,也可以仅path用于更简单的查找



 类似资料:
  • 在django在线课程中,讲师让我们使用函数调用视图并使用urlpatterns列表中的正则表达式。我在youtube上也看到过类似的例子。例如 然而,在通过Django教程时,他们使用来代替例如: 此外,正则表达式似乎不适用于函数,因为使用不会找到视图。 在没有正则表达式匹配的情况下使用是否正确?是否更强大但更复杂,所以他们使用来启动我们?还是不同的工作需要不同的工具?

  • 问题内容: 我有一个在列表中存储一些数据的对象。该实现可能会在以后更改,并且我不想向最终用户公开内部实现。但是,用户必须具有修改和访问此数据集合的能力。目前我有这样的事情: 这是否意味着我已允许内部实施细节泄漏出去?我应该这样做吗? 问题答案: 这仅取决于您是否希望您的用户能够索引数据?如果是,请使用列表。两者都是接口,因此您不会泄漏实现细节,实际上,您只需要确定所需的最低功能即可。

  • 问题内容: 给定m2m关系: 项目类别 我有三个表: 项 , 类别 和 items_categories 包含对两者的引用 我想找到属于 所有给定 类别集的项目: 我可以考虑通过两种方法在mySQL中完成此操作。 选项A:内联: 选项B:存在: 这两个选项都可以。问题是: 对于大型项目表,最快/最合适的 是 哪一个? 还是缺少OPTION CI? 问题答案: 选项A 与相比具有一个优势,因为它将更

  • 我们将收到处理该物品属于以下任何组的请求- Grp1- 我们收到3个A1、B1、C1请求。由于所有请求都属于同一组,因此应按顺序处理这些请求(在提取下一个请求进行处理之前,应先完成当前请求) 我们收到了4个A1、A2、B2、B3请求,其中A2和B2请求属于同一组,因此应按场景1中所述顺序处理,A1和B3请求应并行处理,因为它们属于不同的组 因此,基本上应该并行处理来自不同组的请求。来自同一组的请求

  • 问题内容: 以下哪个更适合使用,为什么? 方法1: 方法2: 我倾向于通向第一个更容易理解,但这可能只是因为我是Python的新手,并且列表理解对我来说仍然有些陌生。第二种方法是否更像Pythonic?我假设没有性能差异,但是我可能是错的。这两种技术的优缺点是什么? (从 Dive到Python的代码 ) 问题答案: 如果迭代是出于其副作用而进行的(如“打印”示例中所示),则循环更加清晰。 如果执

  • 我目前正在使用一个文章显示页面在Liferay 6.2中显示我的web内容。我正在试图找出如何在之后编辑我的友好URL的路径。 当前URL: 希望的URL: