Django + nginx + uwsgi 无法登录

2024-05-16

我有非常简单的登录逻辑 - 类似于官方 Django 解决方案。

class Login(FormView):
    template_name = 'login.html'
    form_class = AuthenticationForm

    def get(self, *args, **kwargs):
        if self.request.user.is_authenticated():
            return self._get_success_url(self.request)
        return super(Login, self).get(*args, **kwargs)

    def form_valid(self, form):
        self.auth(self.request, form.get_user())
        return super(Login, self).form_valid(form)

    def form_invalid(self, form):
        messages.error(self.request, u'Invalid username or password')
        return super(Login, self).form_invalid(form)

    def get_success_url(self):
        return self._get_success_url(self.request)

    @staticmethod
    def _get_success_url(request):
        if 'next' in request.GET:
            return request.GET['next']
        return settings.LOGIN_REDIRECT_URL

    @staticmethod
    def auth(request, user):
        if user is not None:
            if user.is_active:
                login(request, user)
                assert user == request.user

                if request.session.test_cookie_worked():
                    request.session.delete_test_cookie()

                messages.success(request, u'Success.')
            else:
                messages.error(request, u'Deactivated account.')
        else:
            messages.error(request, u'Invalid password or username.')

        request.session.set_test_cookie()

在开发服务器上一切正常。但在生产服务器上登录失败。用户已登录并显示消息Success.显示,但用户实例消失request.user.

更奇怪的是 - 如果我重新启动服务(nginx + uwsgi),第一次登录可以正常工作。如果我退出并重试,则不起作用。

第二件奇怪的事情 - 登录 Django 管理总是正常的。

我正在运行:

Ubuntu == 12.04 LTS
nginx == 1.1.19
uwsgi == 1.0.3-debian
MariaDB == 5.5.34
Django == 1.5

问题是由旧版本的 uwsgi 引起的。从1.0.3升级到2.0后登录工作正常。

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

Django + nginx + uwsgi 无法登录 的相关文章

  • 如何使用永远和启动脚本在 ubuntu 上修复“错误:MONGO_URL 必须在环境中设置”?

    我刚刚在 EC2 ubuntu 服务器上部署了一个 Meteor js 应用程序 我安装了forever https npmjs org package forever并将以下启动脚本添加到 etc init meteor conf sta
  • 基于连接表的 Django 过滤器

    我有两张桌子 class Client models Model name models TextField lastname models TextField class Meta managed False db table clien
  • 使用 Nginx 时缺少 HTTP 状态代码名称

    我正在使用 Nginx 将所有 HTTP 请求重定向到 HTTPS 在我的 Spring Boot 应用程序中 这是我正在使用的 nginx 配置 通过它我可以将所有请求重定向到 Https 但是当我这样做时 我得到了状态码返回正确 但没有
  • 具有 HTTP 基本身份验证的 PhoneGap FileTransfer

    我正在尝试使用以下命令将文件从 PhoneGap 上传到服务器文件传输方法 http docs phonegap com en 1 6 1 cordova file file md html FileTransfer 我需要为此上传启用 H
  • 验证域用户凭据

    我需要一种方法来验证 Windows 上本机 C 的用户 密码对 输入的是用户名和密码 用户可以是 DOMAIN user 格式 基本上我需要编写一个函数 如果用户 密码是有效的本地帐户 则返回 true 第1部分 如果用户 密码在给定的域
  • 配置 Django 和 Google 云存储?

    I am not使用应用引擎 我有一个在虚拟机上运行的普通 Django 应用程序 我想使用 Google Cloud Storage 来提供静态文件 以及上传 提供媒体文件 我有一个水桶 如何将 Django 应用程序链接到我的存储桶 我
  • 使用 pip3 安装 mysqlclient 时遇到问题

    我正在尝试使用 Django 设置 python 3 6 环境 安装说明说我应该安装 mysqlclient 才能连接到 mySQL 我明白了 dennis django sudo H pip3 install mysqlclient Co
  • django 中计数器的原子增量

    我正在尝试自动增加 Django 中的一个简单计数器 我的代码如下所示 from models import Counter from django db import transaction transaction commit on s
  • 防火墙后面的 Web 应用程序上的 OAuth——这可能吗?

    我正在尝试构建一个网络应用程序来将事件添加到员工的谷歌日历中 并希望使用 OAuth 进行身份验证 但是 我的 Web 应用程序被迫位于防火墙后面的 Intranet 上 服务器具有出站 Internet 访问权限 但如果您不在 Intra
  • 如何在 Ubuntu/Linux 发行版中安装 Tesseract-OCR 3.03?

    我和一个朋友有兴趣为 CV 项目训练 tesseract OCR 引擎 我们尝试使用一些包装器 例如 PyTesser 和 pyocr 但结果目前不如我们需要的那么准确 因此 我们希望尝试训练超立方体以更好地实现我们的目的 即识别食品标签上
  • Django“模型”对象不可迭代

    我有一张表 其中显示了已注册的员工 我想根据他们的数据库生成一个简单的 HTML 页面 其中包括他们的姓名 id 职称等 为此 我将一个 id 传递给视图 以便它可以获取相应用户的详细信息并向我显示 一切正常 直到出现错误对象不可迭代 下面
  • Django 1.6 的静态文件

    我花了一整天但没有任何作用 我在这里看到了至少 20 篇关于同一主题的帖子 它们各不相同 有不同的建议 但没有一个对我有用 使用 Python 2 7 运行 Django 1 6 我正在尝试从 django 教程加载民意调查应用程序的 cs
  • Django 不显示更新的 css 文件

    因此 我使用 sass 来更新我的 Django 站点 并使用 git 来对整个内容进行版本控制 我最近对 CSS 文件进行了更新 其中存在一些严重错误 Sass 编译了更改 然后我将新版本推送到服务器 我查看了服务器 新的 css 文件实
  • Python 中的单词匹配

    我有这个 但它正在进行部分匹配 for il in ignore list if il word in title or il word in text return True 我怎样才能只匹配整个单词 您需要将标题和文本字符串拆分为单词列
  • Web 客户端和移动 REST API 安全性的推荐配置

    我意识到关于这个主题有很多问题 我已经研究了几天了 我想确保我的问题尽可能具体 因为我还没有完全理解最佳方法 目前我有一个开发的 django 站点 Web 客户端大约 95 是通过 django piston json REST api
  • 操作错误:游标“_django_curs_”不存在

    我们有一个由 django postgresql 和 heroku 提供支持的在线商店 Web 应用程序 对于特定的活动 您可以将活动视为要购买的产品 我们已成功售出 10 000 份以上的副本 然而 根据我们的 Sentry 报告 我们的
  • POST 请求“访问此资源需要完全身份验证”

    是否有人在尝试使用 POST 请求 oauth token 进行身份验证时遇到错误 访问此资源需要完全身份验证 卷曲命令 curl localhost 85 oauth token d grant type password d clien
  • 如何在没有 openshift 的情况下托管 Django localhost 应用程序?

    我已经在本地主机中创建了一个 Django 应用程序 现在我需要在互联网上托管 我已经尝试过开档 https www openshift com and 任何地方的Python https www pythonanywhere com也 但
  • 使用 hcitool 扫描低功耗蓝牙?

    当我运行此命令时 BLE 设备扫描仅持续 5 秒 sudo timeout 5s hcitool i hci0 lescan 输出显示在终端屏幕中 但是 当我将输出重定向到文件以保存广告设备的地址时 每次运行该命令时 我都会发现该文件是空的
  • 来自 django 教程 was_published_recently.admin_order_field = 'pub_date'

    From Django 教程 https www jetbrains com help pycharm 2017 1 creating and running your first django project html d28041e21

随机推荐

  • 我的 PHP 代码不会将记录插入到 mySQL 数据库表中[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我的网站上
  • 如何找到特定路线上两点之间的距离?

    我正在为我的大学开发一个 Android 应用程序 可以帮助学生跟踪大学巴士的当前位置 并为他们提供巴士到达他们的预计时间 截至目前 我获取了公交车的当前位置 通过公交车上的设备 和学生的位置 我陷入了必须找到两个 GPS 坐标之间的距离的
  • 在 C/C++ 中将数据从一个文件复制到另一个文件的最快方法?

    在我的代码中 我遇到一种情况 需要将数据从一个文件复制到另一个文件 我想出的解决方案如下所示 const int BUF SIZE 1024 char buf BUF SIZE int left to copy toCopy while l
  • 对更改运行 PHPUnit 测试

    每当磁盘上的文件发生更改时 我想运行 PHPUnit 测试 或至少其中的一个子集 与您可以使用 进行的操作非常相似 咕噜手表 https github com gruntjs grunt contrib watch blob master
  • DbContext 实例不能在 OnConfiguring 内部使用,因为此时它仍在配置中

    我正在尝试构建一个自定义视图位置系统 public class myViewLocationExpander IViewLocationExpander private myDBContext context public myViewLo
  • getifaddrs() 结果发生变化时是否有通知机制?

    启动时 我的程序调用 getifaddrs 来查找哪些网络接口可用于链路本地 IPv6 多播 就目前而言 这是可行的 但它不能处理 getifaddrs 返回后可用网络接口集发生更改的情况 当网络接口发生更改时 操作系统是否有某种方式通知我
  • 将变量传递给 Start-Job

    我必须在这里遗漏一些非常简单的东西 这是一个非常基本的脚本来说明我正在尝试的内容 Computers comp1 comp2 ScriptBlock New Item C Temp C txt Force Foreach C in Comp
  • Java EE6> 将 JSF Facelets (xhtml) 和 ManagedBeans 打包为 JAR

    是否可以将 JSF Facelets 和 ManagedBeans 打包到 JAR 文件中 这样我们就可以在不同的 war ear 项目中使用这个代码和 UI 组合了吗 我不是在谈论 JSF 组件 如果是的话 你能给我指一下教程或博客文章吗
  • java.lang.VerifyError:JVMVRFY012堆栈形状不一致;

    在 WAS 8 5 5 中部署 Maven 项目时出现以下错误 我在WAS中安装了JDK 1 6和1 7 错误500 org springframework web util NestedServletException 处理程序处理失败
  • 验证美国的电话号码是否存在

    我想用 C 验证美国的给定电话号码 是否有任何API或其他东西可以帮助程序员验证电话号码存在 我不仅想验证它们是否与美国电话号码的格式匹配 还想验证它们的存在 提前致谢 您可以使用正则表达式验证电话号码格式 例如 但为了验证该电话号码是否确
  • 使用 BGTaskScheduler 进行后台获取与调试模拟完美配合,但在实践中却不起作用

    我在 appDelegate 的 didFinishLaunchingWithOptions 中注册后台获取任务 BGTaskScheduler shared register forTaskWithIdentifier Backgroun
  • Qt:测量事件处理时间

    我想测量我的应用程序中的哪些事件在主线程中需要很长时间才能执行 阻塞 GUI 或者至少是否有任何事件花费的时间超过 比如说 10 毫秒 显然 我对需要很长时间的任务使用线程和并发 但有时很难在其他线程中放入的内容和可以保留在 GUI 中的内
  • C++ 中求幂的函数是什么?

    如何计算一个数的幂 2 1 2 2 2 3 etc cmath 库中的 pow 更多信息here http en cppreference com w cpp numeric math pow 别忘了放 include
  • 需要使用 iFrame API 隐藏 YouTube 品牌

    我正在使用 YouTube iFrame API 在我的自定义播放器 javascript 播放器 中加载视频 我需要隐藏 Youtube 品牌 但是在 iOS 设备上 它显示带有以下参数的徽标 playerVars fs 1 autopl
  • 游戏GUI框架

    我目前正在重新修改游戏的用户界面 OpenLieroX http www openlierox net即 我正在寻找一个可以轻松创建 GUI 的库 框架 具体来说 这是我的要求 开源 游戏是 LGPL 的 遇到许可问题是我们最不想关心的事情
  • Google reCAPTCHA v2 在幕后如何工作?

    本文引用的是 Google ReCaptcha v2 不是最新版本 最近谷歌推出了简化的 验证码 验证系统 video https www youtube com watch v jwslDn3ImM0 使用户只需单击即可通过 验证码 但它
  • 如何从 Internet Explorer 获取与 cookie 关联的过期日期和标志?

    我可以得到 cookie 的值互联网获取Cookie http msdn microsoft com en us library windows desktop aa384710 28v vs 85 29 aspx or InternetG
  • SQL Server 大小写/排序规则问题

    今天我在客户数据库中遇到了一个奇怪的情况 SQL Server 2005 数据库排序规则不区分大小写 因此我可以使用任何大小写编写 SQL 查询 没有任何问题 除了一个 一张特定表中的一个特定列称为 DeadZone 如果我这样查询 从表名
  • 使用 zip 实用程序从工作区目录中压缩多个文件/文件夹

    我们有一个 Jenkins 管道 我想压缩位于工作区中多个目录中的多个文件 py 和 cfg 有没有一种方法可以将多个值传递给dirzip 方法的选项 zip zipFile package zip dir WORKSPACE infra
  • Django + nginx + uwsgi 无法登录

    我有非常简单的登录逻辑 类似于官方 Django 解决方案 class Login FormView template name login html form class AuthenticationForm def get self a