gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 04:54:57 25 4
gpt4 key购买 nike

我正在使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com