【发布时间】:2018-06-05 11:19:00
【问题描述】:
在 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() 来开始我们?还是说不同的工具适用于不同的工作?
【问题讨论】:
-
如果您正在学习教程,我会使用教程使用的任何样式,以防止在
path()和url()之间切换时出错。如果您想要或需要使用正则表达式,那么您必须使用re_path()或url()。除此之外,我认为这真的取决于你选择哪一个。
标签: python django django-urls