gpt4 book ai didi

python - django 2.0 - 包括从应用程序到根 url 文件的 url 文件

转载 作者:行者123 更新时间:2023-11-30 22:22:02 26 4
gpt4 key购买 nike

我感兴趣的是为每个应用程序拥有自己的 urls.py 文件,然后使用 include django 函数将它们包含在根 urls.py 文件中,如下所示 include('myapp.urls').

这里的一切都遵循 django 教程:enter link description here

所以,在root urls.py中它是这样的:

from django.url import include, path
urlpatterns = [ path('folio/', include('folio.urls')) ]

现在在 folio urls.py 中,如下所示:

from django.urls import path
from . import views
urlpatterns = [ path('', views.home, name='home') ]

经过一番尝试后,我得到的只是找不到页面。

enter image description here

我错过了什么?

有一个变体可以工作,在这种情况下,我只需将应用程序导入到root urls.py,如下所示:

from django.url import path
from folio import views
urlspatterns = [ path('', views.home, name='home') ]

最佳答案

页面错误非常明显。给定根 url '/'www.example.com/ 的情况下,在您的任何 View 中都找不到 url 模式。由于您的网址仅包含 admin/folio/。没有注册“/”。

但是根据您的解决方法,您必须将 URL 映射到特定 View

在您的情况下,folio.views.home已映射。您可能需要创建一个主页 View 以将 base.html 呈现为主页。

urls.py

from django.url import include, path
from main.views import home # main is a master app that renders index or home page.

urlpatterns = [
path('', home, name="index"),
path('folio/', include('folio.urls'))
]

app_name/views.py

 def home(request):
return render(request, 'main/base.html', {})

我还鼓励在您的 folio.urls.py 中的 urlpatterns 之前添加一个应用程序命名空间 app_name = 'folio' 这样您就可以导航到您的 folio 应用程序在 main/templates/main/base.html 模板中使用此 url 语法。

ma​​in/templates/main/base.html

 <a href="{% url 'folio:home' %}">Go to folio home page</a>

关于python - django 2.0 - 包括从应用程序到根 url 文件的 url 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48455151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com