参考django文档的form topic,如果在我写的视图函数中,
if form.is_valid():
return HttpResponseRedirect('/thanks/')
在表单模板中,我给出了像
这样的动作<form action="/your-name/" method="post">
然后在提交时,表单将转到/your-name/
中映射到urls.py
网址的视图但是我在呈现表单的函数中的HttpResponseRedirect('/thanks/')
行呢?如果表单有效,则保存表单。但是表格url
中的action
是什么。现在def get_name(request):
是映射到/user/
url的函数。我希望你能理解我的困惑。需要一些帮助。
答案 0 :(得分:2)
这是“post redirect get”模式的一个例子 - 如果帖子成功(表单有效并且处理正常),最好返回一个重定向,然后从中获取您重定向到的网址上的用户代理。如果用户尝试重新加载页面,它可以避免多次提交。
您重定向的位置取决于您 - 您只需重定向到同一视图(通常向用户显示成功消息),或重定向到另一个视图。
作为旁注:硬编码网址在Django中是一种不好的做法,你应该使用网址反向功能。