简而言之,我正在尝试在我的一个视图函数中测试从 URL 参数捕获的视图名称,以查看它是否有效。如果没有,重定向到另一个页面。
例如,拿这个网址...
www.site.com/users/?ref=view_name
那么在我看来
ref = request.GET.get('ref', None)
return redirect(ref) if ref else redirect('users')
当然,问题是,如果用户更改 ref 参数,它将返回 404。我希望能够测试是否ref=home
是有效视图并将其返回,如果不是则重定向到另一个视图。
我一直在搞乱 Django 的决心和逆转,但我没有得到我想要的结果。
我还尝试以各种方式使用 try/finally 与 resolve 和 reverse 混合。是的,愚蠢的......我知道。
try:
if ref:
return redirect(resolve(ref))
finally:
return redirect('user')
我已经搜索了将近两个小时,试图资助一种简洁的方式来做到这一点。
任何帮助,将不胜感激!