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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django - 创建一个没有扩展请求处理的主页面(不直接到模板)相关的知识,希望对你有一定的参考价值。

我是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)并查看具有相应视图的索引页面,我可以使用该页面显示数据库中的内容。

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

答案

您可以在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),
]

以上是关于Django - 创建一个没有扩展请求处理的主页面(不直接到模板)的主要内容,如果未能解决你的问题,请参考以下文章

Django模板渲染之自定义inclusion_tag详细使用

Flutter版本玩Android——主页面数据获取

Flutter版本玩Android——主页面数据获取

Django之路第六篇:完善博客

Django的X-Frame-Options设置

nodejs请求静态资源404错误,后台需处理返回http请求的静态资源