Python Django表格不';无法从DateTimePicker接受DateTime

Python Django表格不';无法从DateTimePicker接受DateTime,python,django,bootstrap-4,bootstrap-datetimepicker,Python,Django,Bootstrap 4,Bootstrap Datetimepicker,我正在开发一个todo web应用程序,让用户使用自定义引导datetimepicker从中输入事件日期时间。我在格式为MM/DD/YY hh:MM a的表单上有自定义小部件。但是,Django不接受该表单。还有一个类似的问题,但我希望表单以某种格式显示,但以默认格式存储在数据库中,而不是覆盖默认的DateTimeInput。我正在考虑使用小部件调整来定制选择器,但我不知道如何以默认格式存储它。最好的方法是什么 Forms.py from bootstrap_modal_forms.forms

我正在开发一个todo web应用程序,让用户使用自定义引导datetimepicker从中输入事件日期时间。我在格式为MM/DD/YY hh:MM a的表单上有自定义小部件。但是,Django不接受该表单。还有一个类似的问题,但我希望表单以某种格式显示,但以默认格式存储在数据库中,而不是覆盖默认的DateTimeInput。我正在考虑使用小部件调整来定制选择器,但我不知道如何以默认格式存储它。最好的方法是什么

Forms.py

from bootstrap_modal_forms.forms import BSModalForm
from .widgets import BootstrapDateTimePickerInput
from bootstrap_datepicker_plus import DateTimePickerInput
from .models import ToDoItem

class NewEventForm(BSModalForm):
    class Meta:
        model = ToDoItem
        fields = ['title', 'description', 'start_time', 'end_time', 'remind_time']
        widgets = {
            'start_time': DateTimePickerInput(
                options={"format": "MM/DD/YYYY hh:mm A"}
            ), 
            'end_time': DateTimePickerInput(
                options={"format": "MM/DD/YYYY hh:mm A"}
            ),
            'remind_time': DateTimePickerInput(
                options={"format": "MM/DD/YYYY hh:mm A"}
            ),
        }     
活动形式:

{% load bootstrap4 %}
{% load static %}
{% bootstrap_css %}   
{% bootstrap_javascript jquery='full' %}
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <!-- Custom Stylesheet -->
    <link rel="stylesheet" type="text/css" href="{% static 'main/main.css' %}">

    <!-- Moment.js -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js" integrity="sha256-VBLiveTKyUZMEzJd6z2mhfxIqz3ZATCuVMawPZGzIfA=" crossorigin="anonymous"></script>

    {{ form.media }} 
</head>
<body>
    <form method="POST" action=""> 
    {% csrf_token %}

        <div class="modal-header">
            <h5 class="modal-title">New Event</h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                <span aria-hidden="true">&times;</span>
            </button>
        </div>

        <div class="modal-body"> 
            <fieldset class="form-group">
                    {% bootstrap_form form %}
            </fieldset> 
        </div>

        <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            <button type="button" class="submit-btn btn btn-primary">Create</button>
        </div>

    </form>
</body>
</html>
{%load bootstrap4%}
{%load static%}
{%bootstrap_css%}
{%bootstrap\u javascript jquery='full%}
{{form.media}
{%csrf_令牌%}
新事件
&时代;
{%bootstrap_form%}
关
创造

您可以在前端使用至少3个著名的JS日期/时间操纵器和本机堆栈来完成此操作。您可以在后端使用django的工具、PythonDateTime库、一个名为python的库等来完成

这是一个普遍解决的问题(例如学校试卷):)

但有一件事可以帮助您,那就是知道表单字段有一个名为的方法:您可以对该方法进行子类化并重写该方法

你不必考虑回去的路,但是为了完整性,如果你想,那就应该考虑


在后端使用的最佳格式(或者实际上在任何人不必查看的地方)是。

很抱歉响应太晚,但是如果我使用models.DateTimeField或forms.DateTimeField,这有关系吗?我对Django很陌生,我不知道有什么不同。另外,如果我错了,请纠正我,我将为后端日期存储子类DateTimeField,并使用js显示日期?model datetime字段靠近数据库层。表单被发送到表单层,在那里有forms.DateTimeField,因此在那里进行任何转换都更有意义。该字段的数据库版本处理从数据库到数据库的翻译。是的,您将使用该自定义小部件进行显示,然后在表单字段中“截取”输入。如果我使用forms.DateTimeField,我将在哪里告诉DateTimePicker从覆盖的DateTimeField(而不是常规的Django字段)进行子类化?我是否也必须覆盖自定义小部件?