【问题标题】:How can I modify the basic Django template for SplitDateTimeField?如何修改 SplitDateTimeField 的基本 Django 模板?
【发布时间】:2015-11-02 05:06:06
【问题描述】:

我有一个简单的SplitDateTime 字段:

meeting_datetime_start = forms.SplitDateTimeField(input_date_formats=["%a %d/%m/%Y"], input_time_formats=["%I:%M %p"])

这会呈现以下 HTML:

<input id="id_meeting_datetime_start_0" name="meeting_datetime_start_0" type="text">
<input id="id_meeting_datetime_start_1" name="meeting_datetime_start_1" type="text">

我正在使用引导程序,并且想添加一个自定义模板来以不同的方式呈现此 HTML,例如:

<div class="col-xs-2">
   <input id="id_meeting_datetime_start_0" name="meeting_datetime_start_0" type="text">
</div>
<div class="col-xs-3">
    <input id="id_meeting_datetime_start_1" name="meeting_datetime_start_1" type="text">
</div>

如何修改SplitDateTimeField 的基本 Django 模板?

【问题讨论】:

    标签: django django-models django-forms django-templates django-views


    【解决方案1】:

    你有一些可能的解决方案。

    1。子类 SplitDateTimeWidget 并重新定义它的渲染方法

    通过子类化该小部件,您可以将任何您想要的东西注入结果代码。之后只需使用您自己的小部件和默认的 SplitDateTimeField

    2。手动在模板中创建输入

    可能是最简单的解决方案,但在我看来是最丑陋的。手动在模板中创建代码,使用名称、id、值等适当的变量。您必须添加 _0、_1 后缀并手动格式化现有值。

    3。创建将注入额外 div 的模板标签

    您可以创建一些模板标签或过滤器,对默认模板进行一些文本操作以添加额外的 div。

    【讨论】:

      猜你喜欢
      • 2011-12-07
      • 2016-01-03
      • 2022-01-09
      • 2019-01-02
      • 2019-08-04
      • 1970-01-01
      • 2015-09-29
      • 2012-01-03
      • 2013-05-15
      相关资源
      最近更新 更多