栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Django小部件覆盖模板

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django小部件覆盖模板

Django版本 <1.11:

小部件必须实现该

render
方法才能呈现不同的模板:

from django.utils.safestring import mark_safefrom django.template.loader import render_to_stringclass MultiChoiceFilterWidget(forms.widgets.CheckboxSelectMultiple):    template_name = 'project/widgets/filter.html'    def render(self, data):        ...        Do stuff with data        ...        return mark_safe(render_to_string(self.template_name))

Django 1.11版:

在渲染器的文档中,我们可以找到以下内容:

Django 1.11的新功能:

在旧版本中,小部件是使用Python渲染的。本文档中描述的所有API都是新的。

通过查看小部件的源代码,特别是

Input
小部件如何扩展
Widget
类,我们可以看到您只需要按以下方式自定义小部件:

class MultiChoiceFilterWidget(forms.widgets.CheckboxSelectMultiple):    template_name = 'project/widgets/filter.html'

这是您已经拥有的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/639001.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号