on trying to run C:\Python34/python manage.py makemigrations, I get the following error: (following a tutorial from www.testandtrack.io)
WARNINGS: ?: (urls.w005) URL namespace 'admin' isn't unique. You may not be able to reverse all URLS in this namespace
What precisely do I need to change and where do I need to look?
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'), ]
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')), ]
urlpatterns = [ path('admin/', admin.site.urls), path('header/', views.header, name='header'), path('', views.index, name='index'), ]
I’ve pasted the various url.py files above and imagine it’s a problem somewhere there. could anyone please point me in the right direction, with an explanation please?
I’ve considered that I could/should remove
from all but the urls.py file (root) …..when I do remove this, I don’t get the same error, but I don’t know if that will cause other problems and if this is the right thing to do?
You are correct in that the error stems from repeating
path('admin/', admin.site.urls), in all of your url.py files. It is normally only declared at the root level as others have pointed out.
Think of it like this – You wouldn’t want to have a separate admin interface for each app, rather you would want to be able to manage all of your apps from one admin interface which is exactly what occurs when you have it only in the root urls.py file.
Also, although the apps should be modular and independent they still need to be connected to a project to work.
Answered By – Jonathan Porter
This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0