属性错误:'tuple'对象在 django 中没有属性'get'重定向(反向)



我的 Django 应用程序有一个表单视图,用于提交创建新帖子的信息,之后它应该重定向到感谢页面。

def submit(request, slug):
account = get_object_or_404(Account, slug=slug)
if request.method == "POST":
# process the data and post form as JSON 
ret = create_or_edit_post(request, account, post=None, duplicate=False)
if isinstance(ret, HttpResponseRedirect):
post = account.posts.latest('id')
# handle post info and post creation
return redirect(reverse('post-submit-ty', kwargs={'slug': account.slug}))
return ret
context = { "account": account }
return render(request, 'submit.html', context)

由于重定向(reverse(...((返回一个元组,这将抛出:

AttributeError: 'tuple' object has no attribute 'get'
File "django/core/handlers/base.py", line 131, in get_response
response = middleware_method(request, response)
File "newrelic/hooks/framework_django.py", line 325, in wrapper
return wrapped(*args, **kwargs)
File "django/middleware/clickjacking.py", line 32, in process_response
if response.get('X-Frame-Options') is not None:

因为我需要传递slugkwarg(作为元组(并重定向到感谢页面,但它正在寻找 http 响应,有没有办法用redirect(reverse)HttpResponseRedirect(reverse)来处理这个问题? 谢谢

实际上,您可以传递带有参数的视图名称,redirect将在内部执行reverse

试试这个,redirect('post-submit-ty',slug=account.slug).

Django Shourtcuts重定向

最新更新