【发布时间】:2021-08-17 08:00:00
【问题描述】:
所以我试图渲染一个 django 模板变量,但由于某种原因它没有渲染出来。
我有以下代码:
Views.py
...
def get_search(request, *args, **kwargs):
context = {}
context = {"test":"abcde"}
return render(request, 'search.html', context)
...
Urls.py
urlpatterns = [
path("", home_view),
path("articles/", include("papers.urls")),
path("admin/", admin.site.urls),
path("search/", search_view),
path("submit/", submit_article_view, name="submit"),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
search.html
{extends 'base.html'}
{% block content %}
<p> {{ test }} hi </p>
...
{% endblock %}
base.html
{% load static %}
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<link rel="stylesheet" type ="text/css" href="{% static 'css/stylesheet.css' %}">
</head>
<header>
{% include 'navbar.html' %}
</header>
<body>
{% block content %}
{% endblock %}
</body>
<footer>
{% include 'footer.html' %}
</footer>
</html>
现在,每当我运行服务器并转到搜索页面时,其他所有内容都会呈现出来,但 {{ test }} 不会。 “嗨”确实被渲染出来了。我已经按照那里的每个教程和 StackOverflow 问题进行了操作,但无济于事。有人知道会发生什么吗?
另外,StackOverflow 新手,如果我在这方面做错了什么,请告诉我:)。
【问题讨论】:
-
可能无法解决问题,但您在
{extends 'base.html'}中缺少%,即它应该是{% extends 'base.html' %} -
您的视图名为
get_search,而您的 URL 模式引用search_view- 这可能是个问题。search_view是否可能不会在其上下文中传递test变量? -
主代码 Abdul 中的内容是正确的,抱歉打错了,请帮忙!虽然问题确实是ski1p提到的,但我使用的是另一个视图,它也呈现了search.html,所以现在我觉得有点愚蠢......谢谢你们的帮助!