python – 如何在django的每个视图中运行一段代码?
发布时间:2020-12-16 23:38:46 所属栏目:Python 来源:网络整理
导读:我需要在我的一个Django应用程序(我不使用Django内置的验证系统)的每个视图中检查用户授权,并将用户重定向到“登录请求”页面,如果授权失败. 代码如下所示: try: admin_from_session = request.session['admin']; admin = Administrator.objects.get(login
我需要在我的一个Django应用程序(我不使用Django内置的验证系统)的每个视图中检查用户授权,并将用户重定向到“登录请求”页面,如果授权失败.
代码如下所示: try: admin_from_session = request.session['admin']; admin = Administrator.objects.get(login = admin_from_session.login,password = admin_from_session.password,enabled=True); except KeyError,Administrator.DoesNotExist: return HttpResponseRedirect('/controlpanel/login') 问题是:如何在每个视图开始时运行这个代码,而不是每次重复一次? 如果我在PHP上编写我的程序,我会将这个代码放在单独的文件中,并在每个需要授权的页面开始写这样的代码: include("redirect_if_not_logged_in.inc.php"); 我找到的解决方案是: 包含标签 – 不做, 这个任务似乎是微不足道的,但我找不到解决方案.我将非常感谢任何帮助. 解决方法
看看
source code for django.contrib.auth decorators.他们做你想要的,但是内置的Django认证系统(
see the documentation).对于您的身份验证系统,不应该做类似的事情.
BTW,你为什么不使用内置的认证?您可以使用自定义身份验证后端… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |