我看了this topic(使用%YYYY-%MM-%DD %HH-%MM
格式)并重复所有内容,但这不起作用。日期时间小部件看起来像splitDateTime,而不是adminSplitDateTime中的datetimepicker。这是我在form.py中的代码
class ReservationForm(ModelForm):
class Meta:
model = Reserve
def __init__(self, *args, **kwargs):
super(ReservationForm, self).__init__(*args, **kwargs)
self.fields['datetime_reservation'].widget = widgets.AdminSplitDateTime()
self.fields['datetime_reservation'].label = "(month/day/year hour/minutes)"
我的模板文件。
{% extends "lfs/base.html" %}
{% load i18n %}
{% load lfs_tags %}
{% load l10n %}
{% block content %}
<script type="text/javascript" src="/my_admin/jsi18n/"></script>
<script type="text/javascript" src="/static/admin/js/core.js"></script>
<script type="text/javascript" src="/static/admin/js/admin/RelatedObjectLookups.js"></script>
<script type="text/javascript" src="/static/admin/js/jquery.min.js"></script>
<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script>
<script type="text/javascript" src="/static/admin/js/actions.min.js"></script>
<script type="text/javascript" src="/static/admin/js/calendar.js"></script>
<script type="text/javascript" src="/static/admin/js/admin/DateTimeShortcuts.js"></script>
<h1 class="first-heading">{% trans 'Reservation' %}</h1>
<form action="{% url reserve_form %}" method="post">
{% csrf_token %}
{% localize on %}
{% for field in form %}
<div class="field">
<div class="label">
{{ field.label_tag }}:
</div>
{% if field.errors %}
<div class="error">
{{ field.errors }}
{{ field }}
</div>
{% else %}
<div>
{{ field }}
</div>
{% endif %}
</div>
{% endfor %}
{% endlocalize %}
<input type="submit" value="Submit" />
</form>
{% endblock %}
另外,我将“admin / jsi18n /”添加到我的urlConf中,例如
url(r'^admin/jsi18n/$', 'django.views.i18n.javascript_catalog', name="django.views.i18n.javascript_catalog"),
第二个问题。我尝试这样做,因为我无法将DateTimeField格式更改为'%d/%m%y %H:%M'
。我尝试使用DateTimeField(input_formats="%d/%m/%y %H:%M")
,但这不起作用,我有"Use %YYYY-%MM-%DD %HH-%MM format"
等错误。我尝试使用SplitDateTime并将格式设置为input_date_formats "%d/%m/%y"
,但这也不起作用。也许在这个字段中这种格式不支持,我必须为这种格式编写自定义字段?
提前感谢您的帮助。