![](/img/trans.png)
[英]Weird flask server crash and database error when making HTTP request
[英]Flask + apache Internal Server Error when making request or database
我在燒瓶中使用apache,並且在打開/ 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
這是我的應用程序樹
燒瓶-靜態-(css js等)
-模板-(jinja2模板)
-database.db
-最小wsgi
-route.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進程提供了對該目錄的寫訪問權限,您也不想最終更改其他地方看似無害的設置,以使所有這些都停止工作。
也許是因為login
功能中的縮進錯誤? 這可能會導致其他錯誤日志,但這是我第一次以錯誤的方式查看格式設置的代碼(即使只是錯誤的復制粘貼)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.