Django 网站加载空根 urls.py 文件
Django website loads with empty root urls.py file
我知道这感觉很初级,但我无法仅基于文档提出一个干净的解决方案。
我有以下项目结构(为了使问题简洁,我省略了 models.py、forms.py 等文件)
- hello_world
- hellow_world
- urls.py
- app_2
- urls.py
- app_3
- urls.py
- manage.py
- urls.py
- settings.py
如您所见,我的目标是为每个应用程序创建一个单独的 urls.py
文件,然后 assemble 将它们放入根目录 urls.py
(与 settings.py
在上面的列表中)。问题是我的根 urls.py 现在是空的 (!!!),而且网站仍然加载主页!!!我究竟做错了什么 ???
详情见下方:
settings.py:
ROOT_URLCONF = 'urls'
hellow_world urls.py:
urlpatterns = [
url(r'^$', views.home , name = 'home'),
]
root 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)
使用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'),
#...
]
我知道这感觉很初级,但我无法仅基于文档提出一个干净的解决方案。 我有以下项目结构(为了使问题简洁,我省略了 models.py、forms.py 等文件)
- hello_world
- hellow_world
- urls.py
- app_2
- urls.py
- app_3
- urls.py
- manage.py
- urls.py
- settings.py
- hellow_world
如您所见,我的目标是为每个应用程序创建一个单独的 urls.py
文件,然后 assemble 将它们放入根目录 urls.py
(与 settings.py
在上面的列表中)。问题是我的根 urls.py 现在是空的 (!!!),而且网站仍然加载主页!!!我究竟做错了什么 ???
详情见下方:
settings.py:
ROOT_URLCONF = 'urls'
hellow_world urls.py:
urlpatterns = [
url(r'^$', views.home , name = 'home'),
]
root 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)
使用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'),
#...
]