我有一个model.py:
如何填充HTML中的Django表单字段?
class usercommand(models.Model):
user = models.ForeignKey(User, blank=False)
a_field = models.PositiveIntegerField(null=True, blank=True)
timestamp = models.DateTimeField(blank=True, null=True)
相关的,我使用创建的Django模型形式user
输入隐藏字段。 forms.py:
class ApplicationForm(forms.ModelForm):
class Meta:
model = userCommand
widgets = {
'user': forms.HiddenInput()
}
正如你可以看到,有可用于获取用户输入的三个字段。但我充满了用户领域views.py
:
def views_method(request, object_id):
if request.method == 'POST':
form = ApplicationForm(request.POST)
if form.is_valid():
form_inst = form.save(commit=False)
form_inst.user = request.user
form_inst.save();
return HttpResponseRedirect(reverse('user_list'))
else:
form = ApplicationForm()
extra_context = {
'form':ApplicaitonForm(initial={'user': request.user.pk})
}
return direct_to_template(request, 'template/remote.html',
extra_context=extra_context)
现在我在用我的remote.html
:
<form action="" method="POST">
{{ form.as_p }}
<input type="submit" value="{% trans "Add " %}" />
</form>
什么,我需要通过书面jQuery中以下选择器来填补模板级别时间戳字段:
<input class="time" type="text" name="start" id="start" />
$('input.time').timepicker();
但我不能理解,我该怎么做呢?因为我使用{{form.as_p}}
。我将如何使用此Jquery代码填充来自timestamp
字段。
如果我没看错的话,可以通过下面的代码做到这一点:
$('#id_timestamp').val($('#time').val())
其中id_timestamp
是timestamp
场的ApplicationForm的ID。但是,我应该如何编写代码,以便我可以在的template
级别填写其余字段。
如果我理解正确的话,你只需要启动实际时间字段的时间选择器:'$(“#id_timestamp”)。 timepicker()' – 2012-08-15 12:38:51
@ TimmyO'Mahony,是的,我们可以通过$('#id_timestamp')。timepicker()来完成。这里#id_timestamp是ApplicationForm类中timestamp字段的标识。我不喜欢用我的Django窗体? – 2012-08-15 12:44:17
为什么要在单独的字段上运行timepicker,然后复制结果?为什么不直接在窗体的时间字段上运行timepicker?您遇到的问题是您不知道如何将小部件返回的时间转换为兼容'DateTimeField'的合成器?否则,我不认为我理解问题 – 2012-08-15 12:49:02