我想要將html文本字段name="slider_value"
的值重新帶回到Django類SessionWizardView中,具體到get_context_data
方法中。從閱讀this site和其他人我知道我需要使用self.request
。如何獲取HTML表單文本字段的值到Django視圖中?
從this answer我發現slider_value = self.request.POST['slider_value']
但它只返回一個「無」值。我猜這是因爲當時的文本字段沒有任何價值。
我的問題是,我只想要slider_value
當用戶點擊提交表單頁面時存儲的值。
任何人都可以告訴我在用戶點擊提交按鈕後,如何將html文本字段name="slider_value"
的值放入我的get_context_data方法中?
下面是我到目前爲止的代碼
views.py
這是我get_context_data方法的縮短版
class SurveyWizardOne(SessionWizardView):
def get_context_data(self, form, **kwargs):
context = super(SurveyWizardOne, self).get_context_data(form, **kwargs)
if self.steps.current in ['5','6','7','8','9','10','11','12','13','14','15','16']:
step = int(self.steps.current)
if step in (5, 6, 7):
image = random.choice(PATH_ONE_IMAGES)
images.insert(step - 5, image)
PATH_ONE_IMAGES.remove(image)
context['display_image'] = image
if step == 5:
print 'you are on step 5'
slider_value = self.request.POST['slider_value']
print 'This is the slide value', slider_value
....
....
return context
HTML
這是我的html表單,我正在嘗試獲取tex的值t字段名稱'slider_value'。它相當於一個jQuery滑塊(值-100 - +100)
<form action="" method="post">{% csrf_token %}
<img src="{% static "survey/images/pathone/" %}{{display_image}}"/>
<div class="slider" id="one"></div>
<div id="slider-result"></div>
<input type="text" name="slider_value" id="hidden1"/>
<script src="{% static "survey/js/slider_two.js" %}"></script>
<input type="submit" value="{% trans "submit" %}"/>
</form>
slider_two.js
這是我的jQuery的滑塊。它更新了上面的文本字段,slider_value
$('#submit').click(function() {
var username = $('#hidden').val();
if (username == "") username = 0;
$.post('comment.php', {
hidden: username
}, function(return_data) {
alert(return_data);
});
});
$(".slider").slider({
animate: true,
range: "min",
value: 0,
min: -100,
max: +100,
step: 1,
slide: function(event, ui) {
$("#slider-result").html(ui.value);
if($(this).attr("id") == "one")
$("#hidden1").val(ui.value);
}
});
一如既往,謝謝!
根據這個回答http://stackoverflow.com/a/16243717/1214163和它引用它的文檔應該可以在get_context_data中使用請求通過使用'self.request' – Deepend 2014-10-21 16:06:01
從文檔:https:// docs.djangoproject.com/en/dev/topics/class-based-views/generic-display/#dynamic-filtering使這項工作的關鍵部分是,當調用基於類的視圖時,各種有用的東西都存儲在自己;以及請求(self.request),這包括位置(self.args)和基於名稱(self。kwargs)根據URLconf捕獲的參數。 – Deepend 2014-10-21 16:07:25
是的,那是我的不好,我會編輯我的答案 – cdvv7788 2014-10-21 16:08:51