Dee*_*end 0 python django django-views python-2.7
在我创建的多页调查应用程序中,我有一个jQuery UI滑块,用于为图像提供评级.这会将数值返回到我的Python/Django视图,该视图存储在列表中slider_DV_values
在稍后的数据验证调查页面上,参与者可以通过另一个jQuery滑动条获得机会,以更新他们为图像分配的评级.
我的问题是,如果参与者更改它,jQuery UI滑块栏只会返回一个数值.因此,如果参与者没有更新,则原始评级将被覆盖,没有任何内容.
但是,如果他们确实更新了他们的评级,则会存储新值.
如果我试试
elif step == 13:
slider_value1 = self.request.POST.get('slider_value1')
print "This is slider_value1", slider_value1
if slider_value1 is not None:
slider_DV_values.pop(0)
slider_DV_values.insert(0, slider_value1)
Run Code Online (Sandbox Code Playgroud)
存储的原始值slider_DV_values仍然被覆盖,没有任何内容.
我以为is not None会阻止使用空值来覆盖原始值?这不正确吗?
任何人都可以告诉我如何防止原始值被覆盖,除非新值是更新的数值?
谢谢,Deepend
编辑
要查看我如何获取我的值,这是我SurveyWizardView的页面中的jQuery滑块,其值通过隐藏的表单元素返回
<div class="DV_image_row">
<div class="DV_image_left">
<img src="{% static "survey/images/pathone/" %}{{first_image}}{{fourth_image}}{{seventh_image}}" height="300" width="250" style="border:1px solid black;" align="middle"/>
<div class="DV_slider_one" id="one"></div>
<script >
$('#submit').click(function() {
var username = $('#hidden').val();
if (username == "") username = 0;
$.post('comment.php', {
hidden: username
}, function(return_data) {
alert(return_data);
});
});
$(".DV_slider_one").slider({
animate: true,
range: "min",
value: {{first_slider}}{{forth_slider}}{{seventh_slider}},
min: -100,
max: +100,
step: 1,
slide: function(event, ui) {
$("#slider-result_left").html((ui.value > 0 ? '+' : '') + ui.value);
if($(this).attr("id") == "one")
$("#hidden2").val((ui.value > 0 ? '+' : '') + ui.value);
}
});
</script>
<div id="slider-result_left">{{first_slider}}{{forth_slider}}{{seventh_slider}}</div>
<input type="hidden" name="slider_value1" id="hidden2"/>
</div>
Run Code Online (Sandbox Code Playgroud)
"" is None 是 False
ONLY None is None是True
也许你只想要if not slider_value1 :对任何假值(空字符串,空列表,空元组,假,0,无等)都是如此