【问题标题】:Flask database works in development but not in production with uWSGIFlask 数据库在开发中工作,但不适用于 uWSGI 的生产环境
【发布时间】:2014-08-01 21:33:39
【问题描述】:

我有一个使用 sqlite3 数据库的烧瓶应用程序。当我在调试中运行应用程序时,它完全按预期工作。

当使用 uWSGI、uWSGI Emperor 和 Nginx 运行应用程序时,应用程序会按预期运行,直到我点击一个导致与数据库交互的按钮。

错误是:内部服务器错误

我无法调试这种情况,因为烧瓶在生产中不允许调试模式。

我认为问题在于应用程序在错误的目录中查找静态数据库文件。我可以将数据库放在哪里以便找到它?

不知道除此之外还要发布什么信息。如有需要会更新。

编辑:通过提供数据库的完整路径解决了问题。有没有办法在 Flask 中获取文件的动态完整路径?

【问题讨论】:

  • 不记录到stderr吗?

标签: python nginx sqlite flask uwsgi


【解决方案1】:

如果你知道文件的相对路径,你可以使用:

import os
abspath = os.path.abspath("mydir/myfile.txt")

检索文件的绝对路径。

【讨论】:

  • 但这是在 Flask 中“正确”的方式吗?
  • 这是获取文件绝对路径的pythonic方法。正如你所说,Flask 正在等待文件的绝对路径,这就是它的完成方式。
猜你喜欢
  • 2013-11-13
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 2017-03-05
  • 2012-08-16
  • 2017-07-15
  • 1970-01-01
相关资源
最近更新 更多