【问题标题】:Django urls.py issue, not sure what to put in 'urlpatterns'Django urls.py 问题,不知道在 'urlpatterns' 中放什么
【发布时间】:2021-06-21 17:45:52
【问题描述】:

我一直在关注本教程 (Django Tutorial Part 3),我偶然发现了我认为是从编写本教程到新 Django 版本之间的语法问题。我的管理页面加载正常。

Code Block in Question 所以在链接的图片中,这就是我在教程中遇到问题的区域。我认为我的“mysite/urls.py”文件很好,但是“polls/urls.py”文件是我不确定放什么的地方。

下面是 mysite/urls.py 的样子:

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
     path('admin/', admin.site.urls),
     path('polls/', include('polls.urls')),

这是我的 polls/urls.py 的样子:

from django.urls import path
from . import views

urlpatterns = [
    path(**??? not sure what to put here**, views.index, name='index'),
]

【问题讨论】:

  • 您链接到 Django 1.8 版的文档,我不知道您是否注意到,但在右下角有一个 版本选择器,您可以更改版本您正在查看文档。因此,这里是您仅为 Django 3.2 提供的相同链接:docs.djangoproject.com/en/3.2/intro/tutorial03 事实上,您询问的 sn-p 位于 Django 3.2 文档教程的第一部分:docs.djangoproject.com/en/3.2/intro/tutorial01
  • 老兄,救命稻草。我一直在手动解决语法差异。我的意思是,在这个过程中学到了很多东西,但这更容易哈哈。

标签: python django


【解决方案1】:

但是polls/urls.py 文件是我不确定放什么的地方。

空字符串 (''),所以:

urlpatterns [
    #    ↓↓ empty string
    path('', views.index, name='index')
]

我们可以检查路径是如何编译为正则表达式的:

>>> from django.urls import path
>>> pt = path('', lambda x: x)
>>> pt.pattern.regex
re.compile('^$')

因此,该模式被编译为正则表达式^$,与文档中url 模式的正则表达式相同。

【讨论】:

  • 谢谢!我走在正确的轨道上......我试着把 None 放在那里哈哈。
猜你喜欢
  • 2018-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-02
  • 2012-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多