【发布时间】:2015-06-01 21:39:51
【问题描述】:
我是 django 的新手。我做了一个表格。我希望如果表单填写成功,那么 django 应该重定向到显示在表单中输入的名称的成功页面,但 url 本身中不应存在任何参数。
我在互联网上搜索,我得到的解决方案是使用 pk 作为获取数据并显示在视图中的获取参数重定向到 url。但我不想在 url 本身中传递任何东西。还有一些网站说http不能用post数据重定向。
这是我的意见.py
class UserRegistrationView(CreateView):
model = UserForm
template_name = 'userregistration.html'
form_class = UserForm
success_url = 'success'
def get_success_url(self):
return reverse('success',kwargs = {'name' : self.object.firstName})
这是我要重定向到的模板:
<h2>Congratualations for registering {{name}} </h2>
基本上我想要的是,如果该人填写表格,将他/她的名字称为“xyz”,那么重定向的成功页面应该显示“恭喜您注册 xyz”
【问题讨论】:
-
你的模型和表单同名?
-
我想我看到了问题,当您调用
get_success_url方法时,您将重定向到successurl,它必须有一个关联的视图,并且给kwargs参数,您给了一个@ 987654326@ 参数到success网址。我认为这不是你想要的。你是如何定义successurl的? -
我还没有定义我的成功网址,但感谢似曾相识,我得到了解决问题的方法。