【发布时间】:2014-08-20 14:33:11
【问题描述】:
我在 Django 1.6 中使用通用 CRUD 视图,例如:
class KanriCreateView(CreateView):
template_name = 'generic_form.html'
class KanriUpdateView(UpdateView):
template_name = 'generic_form.html'
等等
注意这些是用作基类的类,我在整个项目的 views.py 文件中子类化它们。
为了保持干燥,我正在为所有创建/更新视图编写一个通用表单模板。
对于更新视图,我可以访问模板中的object,这是我正在更新的实例。然后我使用object.__class__.__name__(通过自定义过滤器)来获取类的名称(这样我就可以自动生成自定义按钮,如“添加用户”、“添加角色”等,这样表单看起来不那么……通用。
当然,当我在CreateView 中使用我的模板时,object 不存在(因为它尚未创建),所以我的自定义buttons.etc 不起作用,我得到一个VariableDoesNotExist例外。
Django 是否在某处提供了 class 以便我可以在模板中使用它?
【问题讨论】: