在尝试运行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.朋友
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')),
]
主/ 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文件(root)之外的所有.....当我删除它时,我没有得到相同的错误,但我不知道是否会导致其他问题,如果这是正确的事情去做?
你在宣布
path('admin/', admin.site.urls),
你的网址文件中有三次。您只需在项目的根urls.py中声明一次。
你是对的,错误源于你在所有url.py文件中重复path('admin/', admin.site.urls),
。它通常只在其他人指出的根级别声明。
想象一下 - 你不希望每个应用程序都有一个单独的管理界面,而是你希望能够从一个管理界面管理你的所有应用程序,这正是当你只在root urls.py文件。
此外,尽管应用程序应该是模块化且独立的,但它们仍然需要连接到项目才能工作。