【问题标题】:Date Picker does not shown up日期选择器未显示
【发布时间】:2017-11-04 17:10:57
【问题描述】:

我是前端开发的新手。通常我做后端和基础设施。白天,我从frontend-angular 的人那里听到很多关于datepicker 小部件的讨论。现在我从日常工作中解脱出来,可以学习他的示例源代码。我想先开始一个最简单的,然后再回到我好奇心的根源:)

how to show datepicker calendar on datefield

我正在尝试将datepicker 添加到我的页面,用验证器替换普通文本字段:

from django import forms


class ReportOneForm(forms.Form):
    start_date = forms.DateField(widget=forms.TextInput(attrs={'class': 'datepicker'}))
    end_date = forms.DateField(widget=forms.TextInput(attrs={'class': 'datepicker'}))

    def clean(self):
        cleanded_data = super().clean()
        start_date = cleanded_data.get('start_date')
        end_date = cleanded_data.get('end_date')

        if start_date > end_date:
            raise forms.ValidationError(f"Start Date must not after End Date")

模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Report 1 Result</title>
    <form method="post" class="post-form">{% csrf_token %}
        {{ form.as_p }}
        <button type="submit" class="save btn btn-default">Save</button>
    </form>
</head>
<body>

</body>
</html>
<script>
  $(function() {
    $( ".datepicker" ).datepicker({
      changeMonth: true,
      changeYear: true,
      yearRange: "1900:2012",
      // You can put more options here.

    });
  });
</script>

我一定误解了这个页面中的某些内容。

【问题讨论】:

  • 指向另一个问题的链接在这里有点不合逻辑,因为它是在没有任何上下文的情况下添加到问题中间的。您能否添加一些介绍性材料来解释您为什么链接到它?
  • @halfer 完成 :)
  • 好多了,谢谢。

标签: django python-3.x datepicker django-forms django-templates


【解决方案1】:

您可能需要加载 JQuery-UI

<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>

(如this answer

如果你没有它还有 JQuery

【讨论】:

  • 非常感谢。我找到的答案是 4 岁。你的大约 3 岁,比较新