将关键字段访问到 Django 模板中

Posted

技术标签:

【中文标题】将关键字段访问到 Django 模板中【英文标题】:Accessing key field into Django Template 【发布时间】:2011-08-08 12:56:04 【问题描述】:

如何将模型的关键字段访问到 django 模板中?

【问题讨论】:

请在您的问题中更具体一些以获得帮助。 【参考方案1】:

**key** 应该是您希望在blockedsoftwares_list 中找到的属性的名称

因此,假设您的blockedsoftwares_list包含key 的列表(那么变量名的选择不明确),您要检查当前softwarekey 字段是否不在被阻止的软件key列表:

% for software in softwares %
   % if software.key not in blockedsoftwareskeys %
       software.name <br />
       software.version <br />
       software.description <br />
   % endif %
% endfor %

假设这是想要的行为(请通过编辑您的问题更具体),那么当 django orm 允许您在视图中使用过滤器时,为什么要将整个查询集提供给您的模板?

【讨论】:

【参考方案2】:

有两种解决方案:

    您应该在将数据传递到视图之前对其进行过滤

    如果键还不是字段,您可以在模型中编写额外的函数来检索键

你能解释一下**__key__**是什么吗?

【讨论】:

我认为 OP 使用了**__key__** 以便在代码 sn-p 中获得粗体文本,但这正是他所要求的:那个地方应该是什么 如果没有澄清或移动扩展示例(可能是模型代码),很难做出正确的答案。

以上是关于将关键字段访问到 Django 模板中的主要内容,如果未能解决你的问题,请参考以下文章

具有动态数据的 django 模板表单目标

无法将关键字“用户”解析为字段 - django 错误

无法将关键字 u'slug' 解析为 Django 中的字段错误?

Django:在模板中获取到管理页面的链接

无法将关键字'user'解析为字段-Django错误

Django - 自定义模板标签传递关键字参数