【发布时间】:2013-11-30 11:17:07
【问题描述】:
我是 Django 和一般网络编程的新手,请不要让答案太复杂。我已经查看了这里的文档和问题,但我无法理解它。
我有一个表单,在验证模型并将其保存到数据库后,我想将用户重定向到新页面。我的问题是,我该如何正确地使用 HttpResponseRedirect(甚至快捷方式重定向),因为它正确地重定向了视图,url 模式被调用,但是当它到达 views.py 中的视图时,一些东西变成了数组。为什么模板没有改变,而视图却改变了?
谁能告诉我哪里错了,如何解决?
views.py
class CreateSuccess(generic.ListView):
template_name = 'login/successReg.html'
def CreateUser(request):
if request.method == "POST":
form = CreateUserForm(request.POST)
if form.is_valid():
newUser = form.save()
return HttpResponseRedirect('sucess/')
else:
form = CreateUserForm()
return render(request, 'login/addUser.html', {'form':form})
urls.py
urlpatterns = patterns('',
url(r'^$', views.LoginIndex.as_view(), name='loginIndex'),
url(r'^create/', views.CreateUser, name='addUser'),
url(r'^authenticate/', views.LoginUser.as_view(), name='loginUser'),
url(r'^create/success/', views.CreateSuccess.as_view(), name='successReg'),
)
【问题讨论】:
-
会不会是因为您拼错了
HttpResponseRedirect('sucess/')而真正的意思是HttpResponseRedirect('create/success/)? -
@limelights 不,不是这样,当我使用 create/success/ 时,它会将我重定向到 create/create/success
-
@EcoGiko 尝试使用
/success/而不是success/。注意前面的反斜杠。 -
@mariodev 我试过了,它把我带到 localhost:8000/success/ 但成功不是一个应用程序,我得到一个 404
-
@EcoGiko 对不起,我的意思是
/create/success/,但我想它也会给你空白页......对吧?
标签: python django http-redirect