发布于2019-08-22 16:00 阅读(1573) 评论(0) 点赞(14) 收藏(3)
from django.conf import settings from django.shortcuts import redirect def my_view(request): if not request.user.is_authenticated: return redirect('%s?next=%s' % (settings.LOGIN_URL, request.path)) # ...
from django.shortcuts import render def my_view(request): if not request.user.is_authenticated: return render(request, 'myapp/login_error.html') # ...
from django.contrib.auth.decorators import login_required @login_required def my_view(request): ...
next_to = request.GET.get('next', None) # 获取是否有next的重定向,是一个相对路径,不含方案和域名 if next_to: return redirect(next_to)
if user.is_active: # 若用户是活跃的,即未冻结的,在1.10之前冻结用户默认也能登录,所以需要自己认证 login(request, user) # 登录 ...... #其他处理 else: return HttpResponse('用户被冻结')
from django.contrib.admin.views.decorators import staff_member_required @staff_member_required def my_view(request): ...
from django.shortcuts import redirect def my_view(request): if not request.user.email.endswith('@example.com'): return redirect('/login/?next=%s' % request.path) # ...
from django.contrib.auth.decorators import user_passes_test def email_check(user): return user.email.endswith('@example.com') @user_passes_test(email_check) def my_view(request): ...
from django.contrib.auth.mixins import LoginRequiredMixin class MyView(LoginRequiredMixin, View): login_url = '/login/' redirect_field_name = 'redirect_to'
from django.contrib.auth.mixins import UserPassesTestMixin class MyView(UserPassesTestMixin, View): def test_func(self): return self.request.user.email.endswith('@example.com')
作者:坚持才能胜利
链接:https://www.pythonheidong.com/blog/article/52715/b867f95287c399fe78ad/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!