Python Django在表单提交后重定向到具有正确URL的索引视图
我正在学习Django,并试图创建一个表单,我可以将参与者的信息提交到数据库中 我有一个索引视图,其中列出了所有参与者: 单击索引上的按钮将转到表单提交: 提交表单后,页面返回到索引视图,但URL不正确,它在 如果我立即刷新浏览器,它将向数据库中添加另一条记录 add_participant.htmlPython Django在表单提交后重定向到具有正确URL的索引视图,python,django,Python,Django,我正在学习Django,并试图创建一个表单,我可以将参与者的信息提交到数据库中 我有一个索引视图,其中列出了所有参与者: 单击索引上的按钮将转到表单提交: 提交表单后,页面返回到索引视图,但URL不正确,它在 如果我立即刷新浏览器,它将向数据库中添加另一条记录 add_participant.html <!DOCTYPE html> <html> <head> <title>This is the title</t
<!DOCTYPE html>
<html>
<head>
<title>This is the title</title>
</head>
<body>
<h1>Add a Participant</h1>
<form id="participant_form" method="post" action="/participants/add_participant/">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" name="submit" value="Create Participant" />
</form>
</body>
</html>
url.py
from django.conf.urls import url
from . import views
from .models import Participant
app_name = 'participants'
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'add_participant/$', views.add_participant, name='add_participant'),
]
我试着换了开关
return index(request)
致:
它解决了问题……但我怀疑这是一种“正确”的方式。解决此问题的正确方法是什么?您可以只传递重定向响应的路径:
return HttpResponseRedirect("/participants/")
这样,如果您更改域,重定向将起作用
另一种解决方案是使用反向
from django.core.urlresolvers import reverse
# ...
return HttpResponseRedirect(reverse(index))
您可以只传递重定向响应的路径:
return HttpResponseRedirect("/participants/")
这样,如果您更改域,重定向将起作用
另一种解决方案是使用反向
from django.core.urlresolvers import reverse
# ...
return HttpResponseRedirect(reverse(index))