2012-07-10 108 views
1

我想在Django admin的搜索表单中添加一些输入。创建自定义Django管理搜索表单

我通过在原始'admin/search_form.html'的相关路径中放置一个新模板来覆盖原始模板。但是,当我在新模板中添加“选择窗口小部件”时,如:{{ select_widget }}。它总是呈现为<django.forms.widgets.Select object at 0x10f7560d0>。但是,如果我调用render()方法,它会呈现为正确的html。

我怎样才能让小部件呈现为正确的html?

回答

0

试试这个:

{{ select_widget.render }} 

Django Docs

技术上,当模板系统遇到一个点,它会尝试 以下查找,顺序如下:

  • 字典查询
  • 属性查询
  • 方法调用
  • 列表索引查找

你所需要的就是3号 - 方法调用。

+0

谢谢。但是,渲染需要两个参数:名称,值。我如何将它们传递给它? – papalagi 2012-07-10 17:09:04

+0

'{{select_widget.render arg1 arg2}}' – Tisho 2012-07-10 17:09:59

+0

'{{select_widget.render None None}}'将导致'TemplateSyntaxError'消息'无法解析余数:'无无'from'select_widget.render无无'' – papalagi 2012-07-10 17:12:50