【问题标题】:How to write data to a view [closed]如何将数据写入视图[关闭]
【发布时间】:2014-01-17 05:18:38
【问题描述】:

我正在编写我的第一个 Django 网站。 我想将数据从我的视图传递到我的模板。

我的看法:

from django.views import generic


class AboutView(generic.TemplateView):
    template_name = 'about.html'

    def get_context_data(self, **kwargs):
        ctx = super(AboutView,self).get_context_data(**kwargs)
        ctx['test'] = 'This testtext should be displayed in the Webpage'
        return ctx

我的模板:

{% extends 'site_base.html' %}
{% block body %}

{% endblock %}

如何在正文块中显示测试文本?

【问题讨论】:

  • 这个问题似乎离题了,因为它是关于入门教程中很好地涵盖的一个基本问题。

标签: django django-templates django-class-based-views


【解决方案1】:

使用双花括号引用上下文变量名称:

{{ test }}

请参阅docs 以获得更详细的说明。

【讨论】:

  • 我试过这个:" {{ ctx['test'] }}"
  • 请查看文档。 {{ ctx['test']}} 不正确。当您渲染模板时(例如通过TemplateView),您通常通过get_context_data 提供上下文字典。您不需要专门引用包含上下文变量,至少只要您的响应是由 TemplateView 的子类生成的,但您应该习惯于考虑您为模板上下文提供的变量。
【解决方案2】:

您可以像这样为其添加属性:

context_object_name = 'ab_list'

然后在你的 html 中:

{{ ab_list }}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    相关资源
    最近更新 更多