我對 Django 很陌生,還在學習。我會盡量解釋我的問題。在我的模板中單擊一個按鈕,我想使用一些值和變數:
<form method='get' action=''>
<input type="submit" value="{{ answer1 }}" name="btn1" />
<input type="submit" value="{{ answer2 }}" name="btn2" />
<input type="submit" value="{{ answer3 }}" name="btn3" />
<input type="submit" value="{{ answer4 }}" name="btn4" />
</form>
我的意見.py:
class MyView(TemplateView):
def get(self, request, *args, **kwargs):
obj = MyObject()
self.create_dict(q_obj)
if request.GET.get('btn1'):
# some code...
return render(request, self.template_name, { ... })
現在的問題是,每當我單擊按鈕時,使用的字典變數都會被下一個替換,因為有一個新的渲染。
[12/Jan/2022 21:48:46] "GET /quizapp/home/subject/ HTTP/1.1" 200 5267
{'answer': <Answer: 3>, 'correct': False}
{'answer': <Answer: 5>, 'correct': False}
{'answer': <Answer: 2>, 'correct': True}
{'answer': <Answer: 7>, 'correct': False}
[12/Jan/2022 21:48:47] "GET /quizapp/home/subject/round/ HTTP/1.1" 200 7864
{'answer': <Answer: 4>, 'correct': True}
{'answer': <Answer: 2>, 'correct': False}
{'answer': <Answer: 6>, 'correct': False}
{'answer': <Answer: 1>, 'correct': False}
我想使用第一套,但我改變的一切都與第二套詞典有關。我嘗試使用一些重定向命令進行修復,但沒有任何效果......我在這里誤解了一些 Django(GET/POST) 技術?謝謝如果有人可以幫助我;)
uj5u.com熱心網友回復:
互聯網上任何地方的提交按鈕意味著您已完成此表單的處理并希望進入下一步。由于您的所有測驗選擇都是提交按鈕,因此無論何時單擊它們都會獲得新的渲染并不奇怪。
每當您單擊任何這些按鈕時,您都在提交表單。您需要實作一個單選按鈕(選擇)來避免這種情況。表單末尾只有一個提交按鈕。此處提供了一個示例
每次您提交表單時,它都會再次呈現它。因此,您應該只在想要獲取新表單并進入下一步時按提交。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/411287.html
標籤:
