好的,所以我在views.py中有这些功能
modal
那个main.html看起来像这样
Dialog
urls.py
def main(request):
if request.method == 'POST':
return newFunction(request)
return render(request,'user/main.html')
def newFunction(request):
num = request.POST["number"]
let = request.POST["letter"]
context = {'num':num,'let':let}
return render(request,'user/test.html',{'c':context})
如您所见,我进入main.html页面,然后出现一个表格,要求我输入数字和字母。我输入这两个输入,然后单击提交,它会将我重定向到另一个html并显示字母和数字。问题在于该网址仍然显示user / index.html,而不是user / test.html
我该怎么做?我想基本上单击提交并将所有值发送到另一个模板,但在此过程中更改url。
答案 0 :(得分:1)
您可以使用ajax来做到这一点。您可以使用表格,但ajax更适合仅将数据传递给视图。
只需发送带有一些数据的Ajax请求,然后将其发送到目标视图即可。
$.ajax({
type: 'POST',
url: "{% url 'test' %}",
data: {
"csrfmiddlewaretoken": "{{ csrf_token }}",
"num": 'number',
"let": 'letter'
},
dataType: 'json',
success: function(e) {
// success after receive response
}
});
您当然可以用form
发送。只需在action
中添加目标网址即可。
<!-- add your target url in action -->
<form method="post" action="{% url 'test' %}">
{%csrf_token%}
<input type="text" name="number">
<input type="text" name="letter">
<button type="submit">Save</button>
</form>
答案 1 :(得分:0)
这可以在前端使用action
标记中的<form>
属性进行处理,该标记的值应该是您希望表单数据POST
所用的URL。提交。您的开始<form>
标签可以更改为以下内容:
<form method="post" action="/user/test.html">
阅读:https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Sending_and_retrieving_form_data