Reputation: 11052
I have a model look like this:
class filled(stateobject):
first = models.IPAddressField(verbose_name=_("First address"))
second = models.CharField(max_length=39, verbose_name=_("Second address")
Embedding these model into Django-forms by following code :
class hostCreateForm(forms.ModelForm):
class Meta:
model = filled
widgets = {
'user': forms.HiddenInput()
}
In 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)
In :Address_form.html
{{ form.as_p }}
When i run above code's it shows me a form containing two fields i.e. first and second. I want to edit this form and add a new char field by named GMT, So that i am able to pass a following javascript variable i.e gmtHours in this new created field
var d = new Date()
var gmtHours = -d.getTimezoneOffset()/60;
Finally when user's click on sumbit button at template it save a form content i.e.
1. first
2. second
3. newly created gmtHours
I am newbie in Django-model. Want your help :)
Upvotes: 3
Views: 478
Reputation: 31653
Add a hidden field to your ModelForm
that will hold the date:
class hostCreateForm(forms.ModelForm):
class Meta:
model = filled
widgets = {
'user': forms.HiddenInput()
}
# additional hidden field
datetime = forms.DatetimeField(widget=forms.HiddenInput)
You can then assign it a value in the javascript.
Upvotes: 3