我的模型看起来像这样:
class filled(stateobject):
first = models.IPAddressField(verbose_name=_("First address"))
second = models.CharField(max_length=39, verbose_name=_("Second address")
通过以下代码将这些模型嵌入到Django表单中:
class hostCreateForm(forms.ModelForm):
class Meta:
model = filled
widgets = {
'user': forms.HiddenInput()
}
在views.py中:
def address_create(request):
if required.method=='POST':
form = HostCreateForm(request.POST)
if form.is_valid():
host = form.save()
return redirect_to(request, url=host.get_absolute_url())
extra_context = {
'form': HostCreateForm(initial={'user': request.user.pk})
}
return direct_to_template(request, 'networks/Address_form.html', extra_context)
在:Address_form.html
{{ form.as_p }}
当我在代码上方运行时,它会向我显示一个包含两个字段的表单,即第一个和第二个。我想编辑这个表单并添加一个名为GMT的新char字段,这样我就可以在这个新创建的字段中传递一个跟随的javascript变量,即gmtHours
var d = new Date()
var gmtHours = -d.getTimezoneOffset()/60;
最后,当用户点击模板上的sumbit按钮时,它会保存表格内容,即
1. first
2. second
3. newly created gmtHours
我是Django模型中的新手。希望得到你的帮助:)
答案 0 :(得分:3)
在ModelForm
中添加一个隐藏字段,其中包含日期:
class hostCreateForm(forms.ModelForm):
class Meta:
model = filled
widgets = {
'user': forms.HiddenInput()
}
# additional hidden field
datetime = forms.DatetimeField(widget=forms.HiddenInput)
然后,您可以在javascript中为其指定一个值。