【发布时间】:2018-07-31 09:44:46
【问题描述】:
我也在这里检查了类似的问题,但我的问题不是其中之一。实际上,我并没有收到具体的错误,而是从字面上得到了任何东西。
我有一个名为 dashboard.html 的主模板,它位于项目级模板文件夹中。我有一个这样的块;
*** some code here ***
<li class="nav-item">
<a class="nav-link" href="{% url 'products:test' %}">
<span data-feather="shopping-cart"></span>
Products
</a>
</li>
*** some code here
{% block test_html %}
{% endblock test_html %}
我有一个名为“products”的应用程序,在它的模板文件夹中,我有 test.html 文件。这里是它的内容;
{% extends 'products/base.html' %}
{% load static %}
{% block test_html %}
<h1>test</h1>
<h1>test</h1>
<h1>test</h1>
{% endblock test_html %}
我的 products/base.html 文件;
{% extends 'dashboard.html' %}
我的 products/urls.py 文件;
app_name = 'products'
urlpatterns = [
path('', views.IndexView.as_view(), name='base'),
path('<int:pk>/', views.DetailView.as_view(), name='detail'),
path('', TemplateView.as_view(template_name='products/test.html'), name='test'),
]
当我加载页面时,没有任何反应。这里也是截图链接;
http://i.prntscr.com/wtGNfcj4RZOClPndNfnX3w.png
我希望我的 test.html 文件中的 h1 标记位于屏幕截图上显示的空白区域。
PS:实际上我希望从我的 urls.py 中显示 IndexView,但出于测试目的,我创建了一个 test.html 来检查它是否适用于简单的 html。
感谢您的时间和回答。
编辑:如果我将 products/base.html 文件中的 {% extends 'dashboard.html' %} 更改为 {% extends 'base.html' %},该文件也在我的项目级模板目录中,然后是产品页面正在工作中。我不明白的是,两个不同的应用程序不能使用项目级模板目录中的同一个html 文件吗?有这样的规定吗?
【问题讨论】:
-
你的 products/base.html 真的只包含一行吗?
-
是的。实际上我有另一个名为“accounts”的应用程序,它的 base.html 也包含相同的代码行(只有 1 行),它的模板正在工作。我不明白为什么它不适用于“产品”应用。
标签: django django-templates django-views