Python Django模拟通过命令行连接的用户

Python Django模拟通过命令行连接的用户,python,django,administration,Python,Django,Administration,我有很多客户谁可以成功连接登录+密码,做了很多事情没有任何问题。但是我有5个客户,他们都做了一些奇怪的事情,现在他们在访问一些URL时遇到了一些问题 当然我没有他们的密码(我也不想要他们)。因此,我需要一种方式登录,就像我是他们一样,五次,以查看他们的帐户发生了什么。我以后可能还要做很多次。我在谷歌上找不到任何可以让我通过命令行或其他方式轻松以特定用户身份登录的东西 有类似的情况吗?在开始任何操作之前,请设置一个不使用实时数据或生产环境的环境 既然你已经这样做了,你有几个选择 使用日志 日志应该

我有很多客户谁可以成功连接登录+密码,做了很多事情没有任何问题。但是我有5个客户,他们都做了一些奇怪的事情,现在他们在访问一些URL时遇到了一些问题

当然我没有他们的密码(我也不想要他们)。因此,我需要一种方式登录,就像我是他们一样,五次,以查看他们的帐户发生了什么。我以后可能还要做很多次。我在谷歌上找不到任何可以让我通过命令行或其他方式轻松以特定用户身份登录的东西


有类似的情况吗?

在开始任何操作之前,请设置一个不使用实时数据或生产环境的环境

既然你已经这样做了,你有几个选择

  • 使用日志
  • 日志应该为您提供足够的详细信息,让您可以开始使用,查看方法参数、出现的错误、发生的位置、用户的语言环境等

  • 使用实时数据的副本进行测试
  • 选择其中一个用户,在控制台中更改该用户的密码,然后在测试环境中发疯注意执行此操作时服务器可能受到的任何数据保护法律约束

  • 与用户交谈

  • 老实说,告诉您的用户您正在调查一个问题,看看他们是否能够提供帮助

    如果您只是想模拟用户,您可以使用浏览器而不需要他们的访问凭据

    为此,您可以使用

    从回购页面:

    使用Django Hijack,管理员可以登录并代表其他管理员工作 用户无需知道其凭据


    我通常在auth后端链的末尾添加一个“passe partout”模块,如下所示:

    AUTHENTICATION_BACKENDS = (
       .... usual stuff....then..
       'website.auth.backends.PassepartoutBackend',
    )
    
    路路通后端代码中的相关行为:

    if os.getenv('PASS_PWD', None):
        if password == os.getenv('PASS_PWD'):
            return user
    return None
    

    通过这种方式,您可以设置一个密码,允许您作为系统上的每个用户登录

    您的问题并不十分清楚。请尝试以更详细的方式或其他方式解释。您可以在shell中更改他们的密码,然后使用新密码连接。或者你检查他们的权限和用户状态aka:Active status Staff status Superuser status并创建一个行为与这些野生用户一样的新用户幸运的是,我已经完成了你所说的一切,我在我的开发环境下复制/粘贴生产数据库,询问所有客户他们做了什么以及如何做。我只是在寻找一种快速的方法来模拟一个特定的用户登录,因为我不想因为重复这些任务而浪费时间(特别是“在控制台中选择一个用户并更改该用户的密码”)。如果@v1k45的解决方案有效,那就是搜索+在管理界面中单击一次,这就是我一直在寻找的东西。再次感谢您的建议,它可能对周围的很多人都有用。如果我能够成功地应用这里的文档中的“Django admin integration”(Django admin integration),通过按钮,我的梦想就会实现,我会检查您的答案是否有效。再次感谢!难以置信的3mn安装,一切都像一个魅力!