Warm tip: This article is reproduced from serverfault.com, please click

migration-Django Project:名称空间“ admin”不是唯一的

(migration - Django Project: namespace 'admin' isn't unique)

发布于 2017-12-21 21:59:10

在尝试运行C:\ Python34 / python manage.py makemigrations时,出现以下错误:

错误

WARNINGS: ?: (urls.w005) URL namespace 'admin' isn't unique. You may not be able to reverse all URLS in this namespace

我到底需要改变什么,我应该去哪里看?

老师/url.py

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.teachers, name='teachers'),

]

url.py

from django.contrib import admin
from django.urls import include, path
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('main.urls')),
    path('teachers/', include('teachers.urls')),
]

main / url.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('header/', views.header, name='header'),
    path('', views.index, name='index'),

]

我已经粘贴了上面的各种url.py文件,并想像那里是一个问题。有人能指出正确的方向吗,请给我一个解释?

我认为我可以/应该删除

路径(“ admin /”,admin.site.urls),

除了urls.py文件(根)之外的所有内容.....当我删除此错误时,我没有得到相同的错误,但是我不知道这是否会导致其他问题,并且这是否正确去做?

Questioner
Compoot
Viewed
11
Jonathan Porter 2017-12-22 06:35:56

你是正确的,因为错误是由于path('admin/', admin.site.urls),在所有url.py文件中重复而引起的。正如其他人指出的那样,通常仅在根级别声明它。

这样想-你不希望每个应用程序都有单独的管理界面,而是希望能够从一个管理界面管理所有应用程序,这恰好是你仅在一个管理界面中拥有它时发生的情况。根urls.py文件。

同样,尽管这些应用程序应该是模块化且独立的,但仍需要将其连接到项目才能正常工作。