我正在研究Django环境。 我在我的html页面中创建了一个表单,其中包含一个文本框,用于输入标签,例如“输入您的姓名”。 我在文本框下面有一个提交按钮。 我需要将输入的名称作为值传递给按钮,然后将此按钮值传递给views.py中的python函数。
任何人都可以帮我吗?
答案 0 :(得分:0)
要做到这一点,你需要使用Ajax,就像在后台调用url而不影响用户一样。但首先要调用一个网址(视图),我们需要一个网址和一个视图。所以我认为你有类似的东西
url('^click/btn/(?P<data>[0-9]+)', views.click_btn, name="btn_click");
和视图
def click_btn(request, data):
# do whatever you want with the data....
return HttpResponse('Done')
现在要从前端调用它,我们将使用jQuery.ajax
首先你有按钮
<button id="btn_click">Click me!</button>
现在创建一个脚本标记并键入以下内容
脚本标签必须在按钮后面才能看到它
<!-- if you haven't included jQuery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
// get your input value...
var data = $('#my_input').val();
$.ajax({
url: `/click/btn/${data}`,
success: function (res) {
// every code in this function will execute when Ajax call the url
alert(`Nice! you called the url and get this data: ${res}`)
}
});
</script>