0

我知道这感觉很初级,但我无法仅基于 doc 提出一个干净的解决方案。我有以下项目结构(为了保持问题简洁,我省略了 models.py、forms.py 等文件)

  • 你好世界
    • hello_world
      • 网址.py
    • app_2
      • 网址.py
    • app_3
      • 网址.py
    • 管理.py
    • 网址.py
    • 设置.py

如您所见,我的目标是urls.py为每个应用程序创建一个单独的文件,然后将它们组装到根目录urls.py中(与上面的列表处于同一级别settings.py)。问题是我的根 urls.py 现在是 EMPTY (!!!),并且该站点仍在加载主页 !!! 我究竟做错了什么 ???请参阅以下详细信息:

设置.py:

ROOT_URLCONF = 'urls'

hello_world urls.py:

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

根 urls.py - 空!

管理.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)
4

1 回答 1

1

用于include()包含更多网址:

# 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'),
    #...
]
于 2016-12-18T10:13:05.293 回答