102 lines
2.3 KiB
Python
Executable File
102 lines
2.3 KiB
Python
Executable File
from flask import Flask, render_template, redirect, url_for, send_from_directory, make_response, g
|
|
from blueprint.blog_views import blog_bp
|
|
from blueprint.study_views import study_bp
|
|
from flask_autoindex import AutoIndex
|
|
from blueprint.kami_views import kami_bp
|
|
from blueprint.index_views import index_bp
|
|
import os
|
|
import sqlite3
|
|
|
|
def get_owp_db_conn():
|
|
conn = sqlite3.connect('/var/open-ww3-project-ww3-tw/databases/sqlite/owp.db')
|
|
conn.row_factory = sqlite3.Row
|
|
return conn
|
|
|
|
app = Flask(__name__, static_url_path='/static/')
|
|
|
|
|
|
# session
|
|
#app.secret_key = "508948973a8651f160baf3b26f18c47d"
|
|
app.secret_key = '玩鵬畝遜溉痕叛課還擇鼇粹拜溜泉聰倡效蘭鱅都凍芝西鄂'
|
|
|
|
|
|
|
|
# 注册蓝图
|
|
app.register_blueprint(blog_bp, url_prefix='/blog')
|
|
app.register_blueprint(study_bp, url_prefix='/study')
|
|
app.register_blueprint(kami_bp, url_prefix='/kami')
|
|
app.register_blueprint(index_bp, url_prefix='/')
|
|
|
|
|
|
|
|
|
|
# 全局清理关闭数据库连接
|
|
@app.teardown_appcontext
|
|
def close_connection(exception):
|
|
db = getattr(g, '_database', None)
|
|
if db is not None:
|
|
db.close()
|
|
|
|
|
|
|
|
@app.errorhandler(400)
|
|
def bad_request(error):
|
|
return (
|
|
'400 Bad Request<br>'
|
|
'请求有误,请检查参数是否正确'
|
|
'<title>400 Bad Request</title>',
|
|
400
|
|
)
|
|
|
|
|
|
@app.errorhandler(401)
|
|
def unauthorized(error):
|
|
return (
|
|
'401 Unauthorized<br>'
|
|
'请先登录或提供有效凭证'
|
|
'<title>401 Unauthorized</title>',
|
|
401
|
|
)
|
|
|
|
|
|
@app.errorhandler(403)
|
|
def forbidden(error):
|
|
return (
|
|
'403 Forbidden<br>'
|
|
'你没有权限访问此资源'
|
|
'<title>403 Forbidden</title>',
|
|
403
|
|
)
|
|
|
|
|
|
@app.errorhandler(404)
|
|
def not_found(error):
|
|
return (
|
|
'404 Not Found<br>'
|
|
'这里什么都没有'
|
|
'<title>404 Not Found</title>',
|
|
404
|
|
)
|
|
|
|
|
|
@app.errorhandler(405)
|
|
def method_not_allowed(error):
|
|
return (
|
|
'405 Method Not Allowed<br>'
|
|
'请求方法不被允许'
|
|
'<title>405 Method Not Allowed</title>',
|
|
405
|
|
)
|
|
|
|
|
|
@app.errorhandler(500)
|
|
def internal_server_error(error):
|
|
return (
|
|
'500 Internal Server Error<br>'
|
|
'服务器开小差了,请稍后再试'
|
|
'<title>500 Internal Server Error</title>',
|
|
500
|
|
)
|
|
|
|
if __name__ == '__main__':
|
|
app.run(host="0.0.0.0", port=8085, debug=True) |