2017-12-21 15 views
0

ユニークではありません:\ Python34/Pythonのmanage.pyのmakemigrationsは、私は次のエラーを取得する:Djangoのプロジェクト:名前空間 '管理者' はCを実行しようとしているの

エラー

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')), 
] 

url.py /メイン

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

] 

上のさまざまなurl.pyファイルを見て、そこに問題があると想像してください。誰でも正しい方向に私を指差してください、説明をお願いしますか?

私は/すべてが、urls.pyファイル(ルート)から、

パス( '管理/'、admin.site.urls)を除去しなければならないことができると考えられてきました...私がこれを取り除くと、私は同じエラーにはなりませんが、それが他の問題を引き起こすかどうか、これが正しいことなのかどうかわかりません。

答えて

2

あなたのURLのファイルに

path('admin/', admin.site.urls), 

3回を宣言しています。プロジェクトのルートurls.pをに一度だけ宣言する必要があります。

1

エラーはすべてのurl.pyファイルでpath('admin/', admin.site.urls),を繰り返すという点で正しいです。通常、他の人が指摘しているように、ルートレベルでのみ宣言されます。

このように考える - アプリごとに別々の管理インターフェースを使用するのではなく、1つの管理インターフェースからすべてのアプリを管理できるようにしたいこれはrootのurls.pyファイルにのみあります。

また、アプリはモジュラーで独立している必要がありますが、それでもまだ仕事をするためにプロジェクトに接続する必要があります。

関連する問題