gpt4 book ai didi

python - 从模板访问 Django CreateView 中的模型名称

转载 作者:行者123 更新时间:2023-12-01 05:09:29 25 4
gpt4 key购买 nike

我在 Django 1.6 中使用通用 CRUD View ,例如:

class KanriCreateView(CreateView):
template_name = 'generic_form.html'

class KanriUpdateView(UpdateView):
template_name = 'generic_form.html'

等等

注意这些是用作基类的类,我在整个项目的views.py 文件中对其进行子类化。

为了保持干燥,我正在为所有创建/更新 View 编写一个通用表单模板。

对于更新 View ,我可以访问模板中的object,这是我正在更新的实例。然后,我使用 object.__class__.__name__ (通过自定义过滤器)来获取类的名称(这样我就可以自动生成自定义按钮,例如“添加用户”、“添加角色”等)表格看起来不太...通用。

当然,当我在CreateView中使用我的模板时,object不存在(因为它尚未创建),所以我的自定义buttons.etc确实不起作用,并且我收到 VariableDoesNotExist 异常。

Django 是否在某处提供了,以便我可以在模板中使用它?

最佳答案

  1. 您的第一个 View 的名称应该不同,例如KanriCreateView
  2. 它可能会帮助您获取 View 类的名称:{{ view.class.name }}
  3. 如果您有权访问 View 类(默认情况下由 ContextDataMixin 提供),您可以访问 View 类的 model 属性并获取模型:{{ view.model.__name__ }}

干杯

关于python - 从模板访问 Django CreateView 中的模型名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24486428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com