【问题标题】:Passing parameters through django url error通过django url传递参数错误
【发布时间】:2018-09-06 13:14:03
【问题描述】:

我一直在尝试加载我的 localhost:8000/streamers/1234 但是我的网址中有一个我似乎无法修复的错误。我尝试了以下两种模式,但我不断收到错误:

Django 按以下顺序尝试了这些 URL 模式:

^streamers/(?P[0-9]+)/$ [name='streamer'] 当前路径 streamers/34/ 与其中任何一个都不匹配。

urlpatterns = [
    #path(r'^streamers/<int:id>/', views.streamer, name='streamer'),
    url(r'^streamers/(?P<id>[0-9]+)/$', views.streamer, name='streamer'),
]

【问题讨论】:

  • 你的正则表达式看起来不错。你的错误是什么?那里有任何追溯吗?
  • 来自django 2.0,最好使用re_path()而不是url()

标签: python django django-urls


【解决方案1】:

如果“views.streamer”是基于类的视图,请使用:

path(r'^streamers/<int:id>/', views.streamer.as_view(), name='streamer'),

注意 views.streamer 之后的“as_view()”。

【讨论】:

  • 我不这么认为,因为如果他使用了 FBV,那么这不是必需的/强制的
猜你喜欢
  • 1970-01-01
  • 2014-05-22
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 2011-10-07
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
相关资源
最近更新 更多