我正在使用带有引导日期选择器的酥脆表单,我可以保存表单,但在编辑页面中,日期未显示在模板中。
这是代码:
在editForm() 中:
def init(self, *args, **kwargs):
self.helper = FormHelper()
Div('date_end', id="date_end", template='project/util/datepicker_end.html'),
datepicker_end.html:
<div class="input-append date" id="date_end" data-date="{% now 'd-m-Y' %}" data-date-format="dd-mm-yyyy">
<label for="id_date_end">Date end:</label>
<input type="text" name="date_end" id="id_date_end" readonly="readonly" class="input-small"><span id="datepicker-icon" class="add-on"><i class="icon-calendar"></i></span>
</div>
“打印表单”的输出(日期在表单中,但未在“div”中呈现):
<tr><th><label for="id_date_end" class="required">Date end: *</label></th><td><input type="text" name="date_end" value="31-05-2012" id="id_date_end" /></td></tr>
这导致一个空字段: http: //postimage.org/image/r9wqfyrvf/
项目链接:https ://github.com/maraujop/django-crispy-forms
文档链接:http: //django-crispy-forms.readthedocs.org/en/d-0/index.html
编辑!
我找到了解决方案。而不是在模板中使用输入 html 标记,而是使用普通标记 django {{form.date_end}}。注册表格使用相同的模板。
模板 datepicker_end.html 使用 django 标签 {{form.date_end}} 而不是普通的 html 输入。
<div id="div_id_data_end" class="clearfix control-group">
<div class="input-append date" id="date_end" data-date="{% now 'd-m-Y' %}" data-date-format="dd-mm-yyyy">
<label class="control-label requiredField" for="id_date_end">Data end* </label>
<div class="controls">
{{form.date_end}}<span id="datepicker-icon" class="add-on"><i class="icon-calendar"></i></span>
</div>
</div>
</div>
在forms.py
class EditForm(ModelForm):
class Meta:
model = MyModel
self.helper.layout = Layout(
Fieldset(
[...]
Field('date_end', css_class='input-small dateinput', id='date_end', readonly='readonly', template='project/util/datepicker_end.html'),
)
问候!