我正在尝试使用我的自定义表单显示和更新DateField,我正在使用DATE_INPUT_FORMATS
DATE_INPUT_FORMATS = ['%d %m %Y']
class UserForm(forms.ModelForm):
birth_day = forms.DateField(input_formats=settings.DATE_INPUT_FORMATS)
class Meta:
model = User
fields = ('first_name', 'last_name','birth_day')
<input type="text" name="birth_day" value="{{ user.birth_day }}" size="10" class="form-control date-picker" id="id_birth_day" data-datepicker-color="">
<input type="text" name="birth_day" value="" required="" id="id_birth_day" class="form-control">
每次我试图更新时我的问题就开始了我必须重新进入DateField,因为我的DATE_INPUT_FORMATS是这样的
06 02 2017
但是django就是这样展示的
2017年2月6日
所以h
所以每次我更新我的表格我都会
输入一个有效日期。错误
所以它是解决这个问题的最佳方法,如果可能的话,不改变显示和输入格式
我对你的要求有类似的设置,对我来说工作正常
HTML --- Edit.html
<p>You can edit your account using the following form:</p>
<form action="." method="post" enctype="multipart/form-data" id="controlForm">
{{ user_form.as_p }}
{{ profile_form.as_p }}
{% csrf_token %}
<p><input type="submit" value="Save changes"></p>
models.朋友 ---->
class Profile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
date_of_birth = models.DateField(blank=False, null=True)
img = models.ImageField(upload_to=upload_to, blank=True, db_index=True)
slug = models.SlugField(max_length=200, blank=True)
forms.朋友
class ProfileEditForm(forms.ModelForm):
class Meta:
model = Profile
fields = ('date_of_birth', 'img')
上面的代码以YYYY-MM-DD格式保存日期以更改您可以在settings.py中添加日期格式的默认格式
根据您的意愿使用DATE_INPUT_FORMT = ['YYYY-MM-DD']
或任何格式