我使用 Python2.7 和 Django 1.6 开发了一个应用程序,它使用下面的 slider 允许用户使用多页 SessionWizardView
表单对各种图像进行评分。用户评分存储在变量value
中。
作为要求之一,每个用户都必须验证他们在表单后面的页面上给每个图像的评分。因此,我必须重新显示每个图像以及 slider ,该 slider 必须显示用户之前给予图像的相同评级。例如。如果用户之前对图像评分为“+19”,则用户第二次看到该图像时 slider 必须设置为“+19”。
我已经有了重新显示图像的应用程序,并且我可以轻松地为每个图像添加一个 slider 。但我不知道如何让新 slider 以之前提交的值启动。注意:同一表格中有多个图像,每个图像都需要验证。
问题:如何存储 JQuery 提交的变量并在 Python/Django 项目的后续阶段重用它?
$(function () {
var initX=0,minX=50,width=400;
var slider = $('#slider'),
tooltip = $('.tooltip');
slider.slider({
min: -50,
max: +50,
value: 0,
start: function (event, ui) {
tooltip.fadeIn('fast');
},
slide: function (event, ui) {
var value = slider.slider('value'),
volume = $('.volume');
console.log(value)
tooltip.css('left', initX+(value*width)/100).text(ui.value); accordingly
},
stop: function (event, ui) {
},
});
initX=slider.slider("value");
var txt=initX;
initX+=(minX*width)/100;
tooltip.css('left',initX).text(txt);
});
我最初想使用 Python/Django slider ,但一直找不到一个效果很好的 slider 。
任何帮助,甚至是我应该从哪里开始寻找的建议,都将非常感激。这是我第一次构建应用程序,因此每一步对我来说都是新的。
谢谢
最佳答案
您有两种选择来保留帖子中的值:按照 @Pointy 的建议,通过 Django 模型实例将其存储在数据库中,或者您可以在 session 中暂时保留它,完成其余步骤并做任何你需要做的事情。
您可以轻松地将值从 Django View 传递到 JavaScript。此示例展示了如何传入已发布的值,或使用初始 GET 中的值。
# views.py
def your_view(request):
if request.method == 'POST':
foo = request.POST.get('foo')
else:
foo = 'bar'
return render('your_template.html', {'foo': foo})
# your_template.html
<p>Some html</p>
<script>
var foo = '{{ foo }}';
</script>
如果您的 JavaScript 位于外部文件中,您始终可以在包含之前的脚本 block 中设置值,以便外部文件可以获取它们:
<script>
var foo = '{{ foo }}';
</script>
<script src="{% static 'js/your-file.js' %}"></script>
希望对您有帮助。
关于javascript - 如何存储 JQuery 提交的变量并在稍后阶段在 Python/Django 项目中重用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26192978/