我正在尝试添加使用django& amp;提交的学生的详细信息。 ' POST'方法。 提交后,我将详细信息保存在我的' py'文件。之后我想重定向到主页。 早些时候我用过
return render_to_response("home.html",{ "edit":0,"msg":'saved'}, context_instance=RequestContext(request))
但是在每次刷新主页时,它会将数据插入到表中。 然后我尝试使用" HttpResponseRedirect" ,但它不支持参数传递。 我该如何解决这个问题?
add.py
stud = student(name=request.POST['studname'])
stud.save()
return render_to_response("home.html",{ "edit":0,"msg":'saved'}, context_instance=RequestContext(request))
student.html
<form id = "addForm" name = "addForm" action = "" method = 'POST' >
<table>
<tr>
<td>Name.</td>
<td><input type="text" name="studname" id="studname"></td>
</tr>
</table>
</form>
答案 0 :(得分:4)
您应该查看Post/Redirect/Get。
基本上,
以下是您的想法:
使用Django&#39; redirect
def submitting_student(request):
if request.method == "POST":
stud = student(name=request.POST['studname'])
stud.save()
return redirect("home.html", { "edit":0, "msg":'saved' })
return render_to_response("student.html")
以下是PRG pattern
相同主题的另一篇文章答案 1 :(得分:0)
尝试在add.py
中检查请求是否为帖子例如
msg = ""
if request.method == "POST":
stud = student(name=request.POST['studname'])
stud.save()
msg = "saved"
return render_to_response("home.html",{ "edit":0,"msg":msg}, context_instance=RequestContext(request))