【问题标题】:django - pass a field to a templatedjango - 将字段传递给模板
【发布时间】:2012-03-02 16:17:54
【问题描述】:

我正在尝试编写一个简单的视图来呈现我在任何表单之外创建的单个字段:

field = ModelChoiceField(queryset=MyModel.objects.all(),empty_label=None)
template = Template("<div>here is my field: {{field}}</div>")
context = Context({"field" : field})
return HttpResponse(template.render(context));

(这将形成一个 JQuery 对话框的内容;我通过 AJAX 访问此视图。)但是,它没有呈现 ModelChoiceField,而是只显示以下类型的文本:

这是我的字段

我怎样才能让它正常渲染?

【问题讨论】:

    标签: django django-forms django-templates django-views django-models


    【解决方案1】:

    因为该字段不会在表单之外呈现。所以,使用表单,它干净、易于理解并且没有任何开销。

    如果您想知道为什么您的表单没有呈现,您可以查看该字段的来源。它没有__unicode__ 方法。只有BoundFieldhas it。所以你需要使用表单来绑定你的字段。

    可能还有另一种方式,但使用表单是最直接和干净的。

    【讨论】:

    • 好的,我刚刚在视图中创建了一个表单并将其传递给模板。奇迹般有效。谢谢。
    猜你喜欢
    • 2021-05-20
    • 2013-10-21
    • 2017-12-14
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 2021-06-27
    • 2016-11-17
    • 2015-11-12
    相关资源
    最近更新 更多