我有一个简单的 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">
我正在使用 bootstrap,并且想要添加自定义模板来以不同方式呈现此 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 模板?
最佳答案
您有一些可能的解决方案。
1。子类 SplitDateTimeWidget 并重新定义其渲染方法
通过对该小部件进行子类化,您可以将任何您想要的内容注入(inject)到结果代码中。之后,只需使用您自己的小部件和默认的 SplitDateTimeField
2。手动在模板中创建输入
可能是最简单的解决方案,但在我看来是最丑陋的。在模板中手动创建代码,使用名称、id、值等适当的变量。您必须添加 _0、_1 后缀并手动格式化现有值。
3。创建将注入(inject)额外 div 的模板标签
您可以创建一些模板标签或过滤器,它们将在默认模板上执行一些文本操作以添加其他 div。
关于django - 如何修改 SplitDateTimeField 的基本 Django 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31916933/