2016-12-18 10 views
0

私はそれが初心者のような気がしていますが、ドキュメントのみをベースにしたきれいな解決策を思いつくことはできません。 私は、次のプロジェクトの構造(Iは、簡潔な質問を維持する目的でforms.pyをmodels.pyのようなファイルを省略)DjangoのWebサイトに空のルートurls.pyファイルがあります

  • hello_world
    • hellow_world
      • urls.py
      • を持っています
    • app_2
      • urls.py
    • app_3
      • urls.py
    • manage.py
    • urls.py
    • settings.py

としてあなた、mを参照してくださいyの目標は、アプリケーションごとに別々のurls.pyファイルを作成し、ルートurls.py(上のリストのsettings.pyと同じレベルで示されている)にそれらをアセンブルすることです。問題は私のroot urls.pyが今はEMPTY(!!!)であり、サイトは依然としてホームページを読み込んでいることです!私は間違って何をしていますか?

settings.py:

ROOT_URLCONF = 'urls'

hellow_worldのurls.py: - 空の

urlpatterns = [ 
    url(r'^$', views.home , name = 'home'), 
] 

ルートurls.py 詳細は以下をご覧ください!

manage.py:

if __name__ == "__main__": 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings") 

    from django.core.management import execute_from_command_line 

    execute_from_command_line(sys.argv) 

答えて

1

使用include()以上のURLが含まする:

# your main urls.py file 
from django.conf.urls import include, url 

urlpatterns = [ 
    url(r'^myapp1/', include('myapp1.urls')), 
    url(r'^myapp2/', include('myapp2.urls')), 
] 

そして:

# myapp1/urls.py 
from django.conf.urls import url 

from . import views 

app_name = 'myapp1' 
urlpatterns = [ 
    url(r'^$', views.IndexView.as_view(), name='index'), 
    url(r'^(?P<pk>\d+)/$', views.DetailView.as_view(), name='detail'), 
    #... 
] 
+0

が、どのように事実を説明することができますが、そのウェブサイトがロード正しいURL EMPTYルートurls.py? –

+0

Djangoはプロジェクトと同じ名前のモジュール(この例ではhellow_world)を常に参照しているので、urls.pyを含める必要はありません。 –

+0

あなたの設定モジュールはおそらくhellow_world.settings.pyです。これはmanage.pyでハードコードされています。チェックアウトしてください。あなたはあなたのメインのurls.pyとsettings.pyを保持しておくべきです - これは推奨される設定です。 – Udi

関連する問題