所有路径打开一个页面

All paths open a single page

我是 Django 的新手,做错了事。我尝试了很多模板和示例,但总是 运行 遇到同样的问题。无论我尝试使用什么路径,我都会得到相同的文件。

Settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    #my apps
    'strategicplan.apps.StrategicplanConfig',
    'house.apps.HouseConfig',
]

主站点urls.py

from strategicplan import views as sp_views
from house import views as house_views



urlpatterns = [
    path('house/',house_views.index),
    path('strategicplan/',sp_views.index),

   ]

house/urls.py

from django.urls import path
from house import views

urlpatterns = [
    path('', views.index, name='index'),
]

house/templates/index.html

<!DOCTYPE html>
<html lang="en">
<head>
  {% block title %}<title>Houses</title>{% endblock %}
</head>
<body>
house 
</body>
</html>

strategicplan/urls.py

from django.urls import path
from strategicplan import views

urlpatterns = [
    path('strategicplan/', views.index, name='index'),
]

strategicplan/templates/index.html

<!DOCTYPE html>
<html lang="en">
<head>
  {% block title %}<title>strategic plan</title>{% endblock %}
</head>
<body>
strategic plan 
</body>
</html>

无论我在 url http://127.0.0.1 or http://127.0.0.1/house or http://127.0.0.1/stategicplan, I get the strategicplan/index.html page. Both http://127.0.0.1 and http://127.0.0.1/house end up with http://127.0.0.1 in the address bar, but still show the strategicplan page. The http://127.0.0.1/strategicplan 页面中输入什么,地址栏中的地址都是正确的,这也是正确的页面。

谢谢!!

当您在 urlpatterns 中使用此 path('house/',house_views.index) 时,在访问路由 house/ 而不是在您的 house 应用程序的 urls.py 文件中使用 urlspatterns 时,django 将简单地调用house 应用程序的 index() 查看功能。同样适用于 strategicplan 应用程序。

您的项目级别 urls.py 文件应该是

from django.urls import include, path

urlpatterns = [
    path('house/', include('house.urls')),
    path('strategicplan/', include('strategicplan.urls'))
]