python - Flask + apache 发出请求或数据库时出现内部服务器错误

标签 python apache python-2.7 flask

我正在使用 apache 和 Flask,当打开/login (我在这里使用数据库)时,我收到内部服务器错误 作为数据库,我使用 sqlite 和 python 库 sqlite3

DATABASE = '../../var/www/flask/database'

连接数据库功能:

def connect_db():
    return sqlite3.connect(DATABASE)

登录代码

@app.route('/login', methods=['POST'])
def login():
    if request.cookies.get("name"):
        return render_template("home.html",name=request.cookies.get('name'))
    g.db = connect_db() 
    cur = g.db.execute('SELECT email, password, name, confirmed FROM users')
    for row in cur.fetchall(): 
            if row[0] == request.form['email'] and row[1] ==   hashlib.sha224(request.form['password']).hexdigest() and row[3] == 1:
                resp = make_response(redirect(host + "/home"))
                resp.set_cookie("name",row[2])
                resp.set_cookie("password",row[1])
                return resp
    return redirect(host)

这是我的 .wsgi 代码

import sys

sys.path.insert(0, '/var/www/flask/')

from routes import app as application

这是我的应用程序树
Flask - 静态 - (css js 等)
- 模板 - (jinja2 模板)
- 数据库.db
- min.wsgi
-routes.py(应用程序)

这里是routes.com.conf

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName server.test
    WSGIScriptAlias / /var/www/flask/min.wsgi
    <Directory /var/www/flask/>
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>

最佳答案

您需要为 DATABASE 值使用绝对路径

mod_wsgi 模块将为您的应用设置一个不同的当前工作目录,您很可能无权访问该目录。即使您确实授予 Apache 进程对该目录的写入权限,您也不希望最终在其他地方更改看似无害的设置,从而使其再次停止工作。

关于python - Flask + apache 发出请求或数据库时出现内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27647697/

相关文章:

python - 有条件地对 Pandas 数据框执行计算

apache - 如何在 Jersey、Apache Wink 和 JBoss RESTEasy 之间进行选择?

python - 在 .INI 文件中将变量值更改为 float

python - Python 中的 Arabic Word Net 同义词?

python-2.7 - Selenium Firefox Webdriver for python KeyError 'value'

python - 在一张图中绘制多个 Pandas 数据框

python - 我的 plotly 子图的第一个图占据了整个图形(2x4 轴网格)

python - 导入错误 : no module named dns. 查询

PHP代码没有被执行,但是代码显示在浏览器源代码中

apache:无权访问/在此服务器上。当我使用虚拟主机时