【发布时间】:2015-02-23 05:01:03
【问题描述】:
我在烧瓶中使用 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 模板)
- 数据库.db
- min.wsgi
- routes.py (app)
这里是 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>
【问题讨论】:
-
您的 Apache 错误日志中记录了什么错误?
-
DATABASE设置为什么? -
不要不使用
DATABASE的相对路径; WSGI 设置一个你可能没有写权限的工作目录。 -
最后我为数据库设置了路径,它可以工作。谢谢@MartijnPieters :)
标签: python apache python-2.7 flask