Django - 创建一个没有扩展请求处理的主页面(不直接到模板)

问题描述 投票:0回答:1

我是Django的新手,在阅读教程时如何在项目中启动不同的应用程序对我来说很清楚,但是没有设置整个网站的索引页面。

在我的项目文件夹中,它看起来像:

项目名

APP1

应用2

APP3

我想要做的是创建一个路径看起来像这样的网址

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('', include('index.urls')), #Homepage url
    path('App1/', include('App1.urls')),
    path('accounts/', include('django.contrib.auth.urls')),
    path('App2/', include('App2.urls')),
    path('App3/', include('App3.urls')),
    path('admin/', admin.site.urls),
]

因此,您可以访问http://127.0.0.1:8000/(或website.com)并查看具有相应视图的索引页面,我可以使用该页面显示数据库中的内容。

也许它就像创建索引应用程序并将路径设置为('')一样简单,但我无法实现这一点。

python django templates view
1个回答
1
投票

您可以在app(例如app1)中创建index视图,并将此视图与urlpatterns直接一起使用,如下所示:

from django.contrib import admin
from django.urls import path, include
from app1 import views

urlpatterns = [
    path('', views.index), #Homepage url
    path('App1/', include('App1.urls')),
    path('accounts/', include('django.contrib.auth.urls')),
    path('App2/', include('App2.urls')),
    path('App3/', include('App3.urls')),
    path('admin/', admin.site.urls),
]

或者如果你想在index中保留undex.urls,你应该添加到index.urls文件的空路径:

# index urls.py
from django.urls import path

from . import views

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


# project urls.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('', include('index.urls')), #Homepage url
    path('App1/', include('App1.urls')),
    path('accounts/', include('django.contrib.auth.urls')),
    path('App2/', include('App2.urls')),
    path('App3/', include('App3.urls')),
    path('admin/', admin.site.urls),
]
© www.soinside.com 2019 - 2024. All rights reserved.