【发布时间】:2020-01-30 01:33:34
【问题描述】:
我的 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)
因为 redirect(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:
因为我需要传递 slug kwarg(作为元组)并重定向到感谢页面,但它正在寻找 http 响应,有没有办法使用 redirect(reverse) 或 HttpResponseRedirect(reverse) 来处理这个问题?谢谢
【问题讨论】:
标签: python django django-views django-urls