为了账号安全,请及时绑定邮箱和手机立即绑定

查找Django登录页面消息的来源

查找Django登录页面消息的来源

Smart猫小萌 2021-06-11 15:29:44
我创建了一个可用的 Django 应用程序。我正在django-allauth用于实施社交帐户身份验证。现在,假设我使用id用户没有工作人员访问权限的电子邮件登录我的应用程序,如果我直接打开管理员登录页面,管理员登录页面显示如下:我的问题是:如何阻止 Django 显示消息“已成功登录为...”?此消息的来源在哪里?
查看完整描述

3 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

成功签约消息是从Django的allauth。它使用消息框架

我建议您将模板代码添加到您的基本模板中以显示消息。这样,消息将在您登录后立即显示,而不是在您直接进入管理员登录时(其中包含显示消息的模板代码)。


查看完整回答
反对 回复 2021-06-15
?
千巷猫影

TA贡献1829条经验 获得超7个赞

要覆盖它,您需要通过以下方式继承模板 {% extends "admin/login.html" %}


然后您需要使用名称覆盖块。


{% blocktrans trimmed %} You are authenticated as {{ username }}, but are not authorized to access this page. Would you like to login to a different account? {% endblocktrans %}


现在您可以自定义此特定行,然后指向您的函数以加载您的自定义 html 文件而不是标准的管理文件,或者您可以直接编辑 django 包中的 login.html(这不是一个好主意)。要知道它从哪里获取,您可以执行以下操作...


$python

>>>import sys

>>>sys.path = sys.path[1:]

>>>import django

>>>print(django.__path__)

然后进入contrib\admin\templates\admin并手动编辑 login.html。


查看完整回答
反对 回复 2021-06-15
?
jeck猫

TA贡献1909条经验 获得超7个赞

您所指的文本 ( You are authenticated as ...) 可以在此模板中找到:

python3.6/site-packages/django/contrib/admin/templates/admin/login.html

您可以覆盖此模板以删除消息。例如,查看此问题以了解如何覆盖 djangos 默认模板。


查看完整回答
反对 回复 2021-06-15
  • 3 回答
  • 0 关注
  • 267 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号