如何存储JQuery提交的变量并在Python / Django项目的后期重用它?

时间:2014-10-04 12:46:53

标签: javascript python django slider jquery-ui-slider

我使用Python2.7和Django 1.6开发了一个应用程序,它使用下面的滑动条允许用户使用多页SessionWizardView形式对各种图像进行评级。用户评分存储在变量value

作为要求之一,每个用户必须验证他们在表单的后一页上为每个图像提供的评级。因此,我必须重新显示每个图像以及滑块,该滑块必须显示用户先前给出图像的相同等级。例如。如果用户先前将图像评级为“+19”,则在用户第二次看到图像时必须将滑块设置为“+19”。

我有应用程序重新显示图像,我可以轻松地为每个图像添加一个滑块。但我不知道如何让新滑块以先前提交的值开始。注意:有多个图像采用相同的形式,每个图像都需要验证。

问题:如何存储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滑块,但从来没有找到效果很好的滑块。

任何帮助,甚至是我应该开始寻找的建议都将非常感激。这是我第一次构建应用程序,所以每一步对我来说都是新的。

由于

1 个答案:

答案 0 :(得分:2)

您有两个选择来保留帖子中的值:通过@Pointy建议的Django模型实例将其存储在数据库中,或者您可以在会话中暂时保留它,完成其余步骤并执行做任何你需要做的事。

您可以轻松地将Django视图中的值传递给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位于外部文件中,您始终可以在包含之前的脚本块中设置值,以便外部文件可以将其选中:

<script>
    var foo = '{{ foo }}';
</script>
<script src="{% static 'js/your-file.js' %}"></script>

希望能帮到你。