![](/img/trans.png)
[英]How do I display the results of a python function in Django's base.html file?
[英]How do I insert multiple blocks into the base.html in Django?
可能我误解了 Django 中模板的 inheritance,但为什么下面的代码不起作用? 两个子模板都从具有不同块名称的父模板继承。
基地.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>test</h1>
{% block index %}{% endblock %}
{% block nav %}{% endblock %}
</body>
</html>
索引.html
{% extends 'blog/base.html' %}
{% block index %}
<h1>This is the index.html page</h1>
{% endblock %}
导航.html
{% extends 'blog/base.html' %}
{% block nav %}
<h1>This is the nav.html</h1>
{% endblock %}
我通过以下方式访问此模板: urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/', include('blog.urls'))
]
博客/urls.py:
urlpatterns = [
path('', views.home, name='home'),
path('nav/', views.home, name='nav')
]
博客/views.py
def home(request):
return render(request, 'blog/index.html')
使用 URL 的:
localhost:8000/blog
HTML Output:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>test</h1>
<h1>This is the index.html page</h1>
</body>
</html>
我试图掌握使用多个块的概念,以便可以将它们放置在我需要的模板上。
您不能在一个 HTTP 请求中呈现两个视图。 要包含来自不同模板的内容,只需对nav.html
使用include
,如果它不会被独立调用。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>test</h1>
{% include 'nav.html' %}
{% block index %}{% endblock %}
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.