如何禁用 django-allauth 创建新帐户,但仍允许现有用户登录? [复制]

2024-02-01

我们已经运行一个网站一段时间了,该网站使用django-allauth https://github.com/pennersr/django-allauth使用以下任一方式进行身份验证:

  • 传统的基于电子邮件的注册
  • 谷歌登录
  • 推特登录
  • Facebook登入

...但现在我们希望阻止任何人创建新帐户,同时仍然允许以前使用任何这些方法创建帐户的人能够登录。是否有一个设置可以让我们这样做?我不清楚是否有任何一个这些记录的设置 http://django-allauth.readthedocs.org/en/latest/configuration.html将允许我们配置它。

与 django-allauth 相关的当前设置是:

INSTALLED_APPS = (
    'django.contrib.auth',
    ...
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.google',
    'allauth.socialaccount.providers.facebook',
    'allauth.socialaccount.providers.twitter',
    ...
)

AUTHENTICATION_BACKENDS = (
    # Needed to login by username in Django admin, regardless of `allauth`
    "django.contrib.auth.backends.ModelBackend",
    # `allauth` specific authentication methods, such as login by e-mail
    "allauth.account.auth_backends.AuthenticationBackend",
)

SOCIALACCOUNT_PROVIDERS = {
    'google': {'SCOPE': ['https://www.googleapis.com/auth/userinfo.profile'],
               'AUTH_PARAMS': {'access_type': 'online'}},
    'facebook': {'SCOPE': ['email',]},
}

LOGIN_REDIRECT_URL = '/'

ACCOUNT_EMAIL_VERIFICATION = "mandatory"
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = True
SOCIALACCOUNT_AUTO_SIGNUP = True

The 问题 rnevius 链接到 https://stackoverflow.com/questions/17923692/turn-off-user-social-registration-in-django-allauth为我解决了这个问题。为了添加更多细节,我创建了一个文件mysite/account_adapter.py包含:

from allauth.account.adapter import DefaultAccountAdapter

class NoNewUsersAccountAdapter(DefaultAccountAdapter):

    def is_open_for_signup(self, request):
        """
        Checks whether or not the site is open for signups.

        Next to simply returning True/False you can also intervene the
        regular flow by raising an ImmediateHttpResponse

        (Comment reproduced from the overridden method.)
        """
        return False

然后将其添加到mysite/settings.py:

ACCOUNT_ADAPTER = 'mysite.account_adapter.NoNewUsersAccountAdapter'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何禁用 django-allauth 创建新帐户,但仍允许现有用户登录? [复制] 的相关文章

  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • 如何从Python中的函数返回多个值? [复制]

    这个问题在这里已经有答案了 如何从Python中的函数返回多个变量 您可以用逗号分隔要返回的值 def get name you code return first name last name 逗号表示它是一个元组 因此您可以用括号将值括
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • Django添加简单自定义字段——如何编写South Introspection规则

    我正在尝试将自定义字段添加到我的 Django 项目中 该项目使用South http south aeracode org 因此 我 第一次 尝试写南方的自省规则 http south aeracode org wiki MyFields
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • 如何将特定范围内的标量添加到 numpy 数组?

    有没有一种更简单 更节省内存的方法可以单独在 numpy 中执行以下操作 import numpy as np ar np array a l r ar c a a 0 l ar tolist a r 它可能看起来很原始 但它涉及获取给定数
  • python的shutil.move()在linux上是原子的吗?

    我想知道python的shutil move在linux上是否是原子的 如果源文件和目标文件位于两个不同的分区上 行为是否不同 或者与它们存在于同一分区上时的行为相同吗 我更关心的是如果源文件和目标文件位于同一分区上 shutil move
  • Django 视图中的“请求”是什么

    在 Django 第一个应用程序的 Django 教程中 我们有 from django http import HttpResponse def index request return HttpResponse Hello world
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • Python - 如何确定解析的 XML 元素的层次结构级别?

    我正在尝试使用 Python 解析 XML 文件中具有特定标记的元素并生成输出 excel 文档 该文档将包含元素并保留其层次结构 我的问题是我无法弄清楚每个元素 解析器在其上迭代 的嵌套深度 XML 示例摘录 3 个元素 它们可以任意嵌套
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • 带有 LSTM 的 GridSearchCV/RandomizedSearchCV

    我一直在尝试通过 RandomizedSearchCV 调整 LSTM 的超参数 我的代码如下 X train X train reshape X train shape 0 1 X train shape 1 X test X test
  • 为什么 csv.DictReader 给我一个无属性错误?

    我的 CSV 文件是 200 Service 我放入解释器的代码是 snav csv DictReader open screennavigation csv delimiter print snav fieldnames 200 for
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • pytest找不到模块[重复]

    这个问题在这里已经有答案了 我正在关注pytest 良好实践 https docs pytest org en latest explanation goodpractices html test discovery或者至少我认为我是 但是
  • 如何将Python3设置为Mac上的默认Python版本?

    有没有办法将 Python 3 8 3 设置为 macOS Catalina 版本 10 15 2 上的默认 Python 版本 我已经完成的步骤 看看它安装在哪里 ls l usr local bin python 我得到的输出是这样的
  • NLTK:查找单词大小为 2k 的上下文

    我有一个语料库 我有一个词 对于语料库中该单词的每次出现 我想获取一个包含该单词之前的 k 个单词和该单词之后的 k 个单词的列表 我在算法上做得很好 见下文 但我想知道 NLTK 是否提供了一些我错过的功能来满足我的需求 def size

随机推荐

  • Batch:检查参数数量

    我想确保在调用我的批处理时 传递的参数不超过 2 个 有没有一种简单的方法来检查这一点 或者我是否必须根据需要多次调用 SHIFT 直到参数值为空 您可以简单地测试第三个参数是否存在 如果存在则取消 if not 3 echo No mor
  • EditText 中的 Android 标签或气泡

    Can someone please point me in the right direction how to do those bubbles or labels in the EditText something like thos
  • 在 asp.net-mvc 中捕获每个用户的页面视图的最佳方法是什么

    在不降低网站性能的情况下捕获个人页面浏览量的最佳方法是什么 我看到 stackoverflow 到处都显示页面浏览量 每次我点击页面时他们都会插入数据库吗 在 asp net mvc 中 是否有任何推荐的方法来跟踪每个用户的页面视图 我的网
  • Facebook 的 FirebaseUI 身份验证未登录

    我在 Android 中使用 FirebaseUI Auth 进行用户身份验证 我的应用程序 build gradle 中用于 Facebook 登录的依赖项 compile com google firebase firebase aut
  • FOSUserBundle 多种用户类型

    我正在构建一个应用程序 其中 至少 有两种不同的用户类型 比如说买家和卖家 每个用户类型应该有自己的逻辑 注册表单 流程 个人资料 权限等 但我想对每个用户使用 FOSUserBundle 以便在某些方面进行共同管理 我实际上被注册表挡住了
  • LeafletJS L.DivIcon HTML 标记文本 - 相对于地图缩放的比例

    因此 我正在使用最新版本的传单 v1 0 2 并尝试将文本标签动态应用到自定义 地理对齐 地图上的特定 lat lng 点 我的问题是 我需要地图上的文本在缩放时保持其大小 就好像文本实际上是图块图像的一部分 使用任何类型的标记都会使文本保
  • RavenDB 中使用空格键搜索子字符串

    我正在使用这样的查询 var query QueryParser Escape input session Query
  • 如何在我的图表的主标题中包含斜体?

    这是我的 atm 代码 plot V1 V2 pch 19 main Changes in absolute cell volume of Chlorella Alga over a 24hr period xlab Stage in 24
  • IIS6 上的 ASP.NET MVC

    在哪里可以找到有关在 IIS6 上运行 ASP NET MVC 最佳实践的一些好建议 对于提供 IIS7 托管的网络主机 我还没有看到任何现实的选择 主要是因为我不住在美国 因此 我想知道如何最好地在 ASP NET MVC 中构建应用程序
  • NestJS - 如何使用装饰器创建嵌套模式

    假设我想用猫鼬构建以下模式 const userSchema new Schema name firstName String lastName String 我怎样才能用 NestJS 装饰器做到这一点 Schema Prop 我尝试这个
  • 如何在测试之间重置 Hardhat 的主网分叉?

    我正在使用 Hardhat 的主网分支在 Hardhat 中编写单元测试 但是一项测试的结果似乎会影响未来的测试并导致我的断言失败 我正在使用 Alchemy 和区块 14189520 进行分叉 例如 it Test 1 async fun
  • 为 libmysqlclient.18.dylib 库创建符号链接

    我已经通过 pkg 安装程序安装了 mysql 我正在尝试启动 Rails 服务器 但收到以下错误 Library not loaded libmysqlclient 18 dylib LoadError 我读到解决方案是创建一个符号链接
  • 将 RSSI 转换为距离

    如何将 RSSI 转换为距离 我有三个坐标 RFID 读取器 Reader1 0 0 读者2 0 8 读者3 8 5 应答器获取 RSSI 从阅读器 1 获取 156 从阅读器 2 获取 115 从阅读器 3 获取 124 我如何获得应答器
  • 将 C++ 结构填充为 2 的幂

    我正在为嵌入式系统编写一些 C 代码 代码使用的 I O 接口要求每个消息的大小 以字节为单位 是 2 的幂 现在 代码做了类似的事情 在几个地方 pragma pack 1 struct Message struct internal u
  • 为什么右大括号显示没有代码覆盖率?

    我有一个 Swift 函数 Xcode 在代码覆盖率中显示 0 次传递 该行是一个右大括号 下面以红色突出显示 这是 Xcode 中的错误吗 如果没有 我需要满足什么条件才能运行该线路 我以为我通过这种方法覆盖了所有路径 很确定这是 Xco
  • 如何使用 docker 桌面运行 docker-compose? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 Windows 10 上 有一个 docker compose 文件 并被告知使用 docker 桌面而不是终端来运行它 我不知道如
  • 对于NoUiSlider,如何设置手柄/拇指的宽度?

    我尝试设置 NoUiSlider 的宽度 通过CSS noUi horizontal noUi handle width 8px height 25px left 0px top 8px border 0px solid 000000 bo
  • 将矩阵拆分为 4 个子矩阵,其总和之间的差异最小

    我必须找到 4 个子矩阵之和之间的差异 这是分割矩阵后得到的A不管怎样 为了得到子矩阵之和之间的差值最小 例如 对于矩阵A 3 0 2 8 8 5 3 2 2 3 2 5 2 1 4 3 4 1 4 2 3 6 2 4 3 我可以这样分割它
  • 如何使用 dplyr::mutate_all 对选定列进行舍入

    我正在使用以下软件包版本 devtools install github hadley dplyr gt packageVersion dplyr 1 0 5 0 9001 带有以下小标题 library dplyr df lt struc
  • 如何禁用 django-allauth 创建新帐户,但仍允许现有用户登录? [复制]

    这个问题在这里已经有答案了 我们已经运行一个网站一段时间了 该网站使用django allauth https github com pennersr django allauth使用以下任一方式进行身份验证 传统的基于电子邮件的注册 谷歌