Django AdminDateWidget显示为文本输入

fruv7luv  于 2023-01-03  发布在  Go
关注(0)|答案(1)|浏览(135)

我不明白小工具是怎么工作的。
我试过这个最小的例子:

  • 在我的网站上 forms.py *
class PartialResetForm(forms.Form):
        date = forms.DateField(
            label="Starting date",
            widget=AdminDateWidget()
        )
  • 在我的管理/中间重置页面.html*
{% extends "admin/base_site.html" %}

<!--Loading necessary css and js -->
{{ form.media }}

{% block content %}
<form action="" method="post">{% csrf_token %}
    <!--  The code of the form with all input fields will be automatically generated by Django  -->
    {{ form }}
    <!--  Link the action name in hidden params -->
    <input type="hidden" name="action" value="custom_action" />
    <!--  Submit! Apply!  -->
    <input type="submit" name="apply" value="Submit" />
</form>
{% endblock %}
  • 在我的www.example.com中admin.py作为一个动作的定义 *
def custom_action(self, request, queryset):    
        form = PartialResetForm()

        return render(request, "admin/intermediary_reset_page.html", {
            "items": queryset, "form": form
        })

现在我不关心查询集,它将是我的下一个主题。在这个简单的例子中,我想有一个日历来帮助选择日期,但只有一个TextInput出现。我相信这是由于AdminDateWidget继承了TextInput。
我的问题是为什么它不显示为日历?我导入了媒体并声明了我的小部件,我不知道我还应该做什么。

xzlaal3s

xzlaal3s1#

应该声明类型

AdminDateWidget(attrs={'type': 'date'})

而且应该足够了;)

相关问题