【问题标题】:Error W005 URL namespace isn't unique错误 W005 URL 命名空间不是唯一的
【发布时间】:2018-02-28 23:34:08
【问题描述】:

'将此代码从 Django 教程复制到我的应用程序的 urls.py 文件中...

from django.urls import path

from . import views

app_name = 'polls'
urlpatterns = [
    path('', views.index, name='index'),
    path('<int:question_id>/', views.detail, name='detail'),
    path('<int:question_id>/results/', views.results, name='results'),
    path('<int:question_id>/vote/', views.vote, name='vote'),
]

当我启动我的服务器时,它会产生以下错误...

(urls.W005) URL 命名空间“polls”不是唯一的。你可能无法 反转此命名空间中的所有 URL

我尝试使用除“polls”之外的其他名称,但结果相同。我究竟做错了什么?

【问题讨论】:

    标签: django


    【解决方案1】:

    检查您的根 urls 文件,并确保具有唯一的名称: (django 2+)

    例如:

    我的网站/urls.py -->

    from django.contrib import admin
    from django.urls import include, path
    
    urlpatterns = [
        path('', include('polls.urls')),      #polls.urls is unique
        path('admin/', admin.site.urls),      #admin.site.urls is unique
    ]
    

    【讨论】:

      【解决方案2】:
      from django.conf.urls import url
      import views
      
      
      urlpatterns = [
          url(r'^$', views.index,name='index'), 
          url(r'^(?P<question_id>[0-9a-f-]+)/$',views.detail,name='detail'),
          url(r'^(?P<question_id>[0-9a-f-]+)/results/$',views.results,name='results'),
          url(r'^(?P<question_id>[0-9a-f-]+)/vote/$',views.vote,name='vote'),
      ]
      

      如上所示编写您的 url 文件。

      【讨论】:

      • 非常感谢您的回复,但我正在尝试使用 Django 2.0.2。 app_name = 'polls' 尝试使用命名空间。我的代码在没有命名空间行的情况下工作,但不是。此提供的代码似乎适用于较早的 Django 版本。 '尝试只是为了好玩,但出现了很多错误。
      猜你喜欢
      • 2017-09-28
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-04
      • 1970-01-01
      • 2018-06-04
      • 2014-05-09
      相关资源
      最近更新 更多