【发布时间】:2015-08-14 07:13:52
【问题描述】:
我正在尝试将添加到我的SurveyWizardForm 的 jQuery 元素的值保存到我的class Person(models.Model): 以及我的数据库中。
我的表单中的所有其他元素都是以正常方式创建的,方法是在我的 forms.py 中创建必要的字段和小部件,并在我的 models.py 中为每个问题创建数据。结果,它们都自动工作,并保存了正确的数据。
但是我在某些页面上自定义了我的SurveyWizardForm,以允许用户通过 jQuery 滑块提交图像评级。
我的问题是我似乎无法将此值存储在我的 Person 模型中。
问题:如何将滑块的值存储到 Person 模型中的 slider_value 中?
到目前为止,我的所有尝试都只是在模型/数据库中创建了一个新条目,该条目不存储我在 Form/views.py 中的值。我担心我没有正确地将这两部分链接在一起。
非常感谢任何帮助。谢谢
到目前为止我的代码
slider_two.js
这将使用我的 jQuery 滑动条的值更新隐藏的表单字段 hidden1
if($(this).attr("id") == "one")
$("#hidden1").val((ui.value > 0 ? '+' : '') + ui.value);
wizard_form.html
value="0" 在用户移动上面slider_two.js 中创建的滑块时更新(未显示)
<input type="hidden" name="slider_value" value="0" id="hidden1"/>
<script src="{% static "survey/js/slider_two.js" %}"></script>
views.py
我可以使用
将值读入views.py slider_value = self.request.POST.get('slider_value')
if slider_value is not None:
instruction_task_values.insert(0, slider_value)
logger.debug('\n\n\nThis is your instruction_task_values in 1 %s', instruction_task_values)
这是因为每次都会将正确的值打印到我的日志中
models.py
这是为了在数据库中创建字段来存储滑块的值。我创建的所有其他条目都可以正常工作并正确保存。
class Person(models.Model):
slider_value = models.IntegerField(null=True, blank=True, max_length=1000)
forms.py
这就是我认为我的问题所在。
以下是我尝试“连接”到表单中现有的slider_value 并将其添加到我的 Person 模型中,但它所做的只是在我的表单中创建一个新字段。
class SurveyFormIT1(forms.ModelForm):
class Meta:
model = Person
fields = ['slider_value']
widgets = {'slider_value' : forms.HiddenInput}
【问题讨论】:
-
您需要将表单传递给模板,并且字段id需要是
id="id_slider_value" -
使用
context.update?
标签: jquery django django-models django-forms django-views