Django 模板变量未呈现

时间:2021-05-29 08:59:57

标签: django template-variables

所以我试图渲染一个 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 }} 不会。 'hi' 确实被渲染出来了。我遵循了那里的每个教程和 StackOverflow 问题,但无济于事。有人知道会发生什么吗?

另外,StackOverflow 新手,如果我在这方面做错了什么,请告诉我:)

1 个答案:

答案 0 :(得分:0)

问题是我渲染了一个不同的视图,它也使用了 search.html。因此,除了模板变量之外,为什么一切都相同。现在将上下文放入正确的视图中,search_view 将正确呈现。

search_view

def search_view(request, *args, **kwargs):
    context = {}
    context = {"test":"abcde"}
    return render(request, 'search.html', context)
相关问题