Django:Timefield小部件没有显示在模板中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django:Timefield小部件没有显示在模板中相关的知识,希望对你有一定的参考价值。

TLDR:如何让我的时域显示在模板中?

我在类meta中定制了我的ModelForm。出于某种原因,仅显示标签更改,而不是窗口小部件更改。这是我的代码:

class MenuCreateForm(forms.ModelForm):
    class Meta:
        model = Menu
        fields = (
            'name',
            'monday',
            'availability_begin_mon',
            'availability_end_mon',
        labels = {
            'availability_begin_mon': ('Begin Montag'),
            'availability_end_mon': ('Ende Montag'),
        widgets = {
            'availability_begin_mon': forms.TimeInput(format='%H:%M'),
            'availability_end_mon': forms.TimeInput(format='%H:%M'),

这是我使用的模板:

<form method="POST"> {% csrf_token %}
        {{ form.as_p }}
        <button class="btn btn-primary" type='submit'>Änderungen speichern</button>
</form>

有没有人有想法?非常感谢你!

答案

默认情况下,django表单不会在自定义表单中显示日期/时间窗口小部件。如果你想要那样的话,那就是采用黑客的方法。请参考以下讨论Using Django time/date widgets in custom form

以上是关于Django:Timefield小部件没有显示在模板中的主要内容,如果未能解决你的问题,请参考以下文章

django admin如何在只读字段上显示小部件

Django Admin Template Overriding:显示 checkboxselectmultiple 小部件

Django:在models.py中将TimeField更改为DateTimeField

使用模板渲染 django 小部件?

自定义 Django 小部件/字段:对象没有属性“attrs”

Django_filters 小部件自定义