如何在编辑内容并将javascript变量传递给它的新输入字段后将Django“forms.ModelForm”保存在数据库中
Posted
技术标签:
【中文标题】如何在编辑内容并将javascript变量传递给它的新输入字段后将Django“forms.ModelForm”保存在数据库中【英文标题】:How to save Django "forms.ModelForm" in database after editing it content and passing a javascript variable to it's new entered field 【发布时间】:2012-03-16 19:01:39 【问题描述】:我的模型如下所示:
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
当我运行上面的代码时,它会显示一个包含两个字段的表单,即 first 和 second。我想编辑这个表单并添加一个名为 GMT 的新 char 字段,这样我就可以在这个新创建的字段中传递以下 javascript 变量,即 gmtHours
var d = new Date()
var gmtHours = -d.getTimezoneOffset()/60;
最后,当用户点击模板上的 sumbit 按钮时,它会保存一个表单内容,即
1. first
2. second
3. newly created gmtHours
我是 Django 模型的新手。需要你的帮助:)
【问题讨论】:
-1 有什么问题,现在没问题了? 你不需要帮助,你想让我们为你做这件事。 我只是需要帮助。我把这整个代码只是为了一个原因,即“解释更多” 【参考方案1】:向您的 ModelForm
添加一个隐藏字段,用于保存日期:
class hostCreateForm(forms.ModelForm):
class Meta:
model = filled
widgets =
'user': forms.HiddenInput()
# additional hidden field
datetime = forms.DatetimeField(widget=forms.HiddenInput)
然后您可以在 javascript 中为其分配一个值。
【讨论】:
然后进行回复。添加以上行后。我打印表单内容但没有任何变化,即使它没有重定向到下一页。可能是因为我们同时使用了 Django 模型和 Form 模型。如果我通过添加一个字段来对 Django 模型进行一些更改并像我们对用户所做的那样放入隐藏层怎么办? 这样会起作用(日期时间将被隐藏表单元素并保存在数据库中)。 很抱歉,但我也检查了它没有的数据库:)。无论如何,现在我有另一种情况,请您在这种情况下提供帮助:我添加了一个 time_zone 模型 IntegerField 并将其隐藏起来,就像我对“用户”所做的一样。我想将一个 java 脚本变量传递给该隐藏字段。我怎样才能做到这一点。我尝试通过自定义表单,但它不起作用。需要你的帮助:)以上是关于如何在编辑内容并将javascript变量传递给它的新输入字段后将Django“forms.ModelForm”保存在数据库中的主要内容,如果未能解决你的问题,请参考以下文章
如何在python django中调用类外的方法并将类实例传递给它
如何访问 UIScrollView 的特定子视图(UIWebView)并将一行 Java 传递给它
如何从 Javascript 提示框中获取值并将其传递给 PHP 变量以便能够保存在 SQL 中?
如何传递 GOOGLE_APPLICATION_CREDENTIALS 中的内容而不是文件路径?