Простейший рабочий пример, основанный на других ответах, следующий:
from flask import Flask, request
app = Flask(__name__, static_url_path='')
@app.route('/index/')
def root():
return app.send_static_file('index.html')
if __name__ == '__main__':
app.run(debug=True)
С HTML под названием index.html :
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<div>
<p>
This is a test.
</p>
</div>
</body>
</html>
ВАЖНО: И index.html находится в папке static, то есть <projectpath>
имеет файл .py
, а <projectpath>\static
имеет файл html
.
Если вы хотите, чтобы сервер был видимым в сети, используйте app.run(debug=True, host='0.0.0.0')
EDIT: для отображения всех файлов в папке, если требуется, используйте этот параметр
@app.route('/<path:path>')
def static_file(path):
return app.send_static_file(path)
. Это по существу BlackMamba
, так что дайте им преимущество.