Flask框架搭建4监控和重加载页面

我们接着之前的框架搭建继续,我们这次是要实现页面的监控和重加载。

完整代码:

from flask import Flask,render_template,request,redirect,url_for,make_response
from werkzeug.routing import BaseConverter
from werkzeug.utils import secure_filename
from flask_script import Manager
from os import path


class RegexConverter(BaseConverter):
    def __init__(self,url_map,*items):
        super(RegexConverter,self).__init__(url_map)
        self.regex = items[0]


app = Flask(__name__)
app.url_map.converters['regex'] = RegexConverter

manager = Manager(app)


@app.route('/')
def index():
    response = make_response(render_template('index.html',title='Welcome'))
    response.set_cookie('username','')
    return response


@app.route('/services')
def services():
    return 'Service'


@app.route('/about')
def about():
    return 'About'


@app.route('/user/<regex("[a-z]{3}"):user_ID>')
def user(user_ID):
    return 'User %s' % user_ID


@app.route('/projects/')
@app.route('/our-works/')
def projects():
    return 'The project page'


@app.route('/login',methods=['GET','POST'])
def login():
    if request.method=='POST':
        username = request.form['账号']
        password = request.form['密码']
    else:
        username = request.args['username']

    return render_template('login.html', method=request.method)


@app.route('/upload',methods=['GET','POST'])
def upload():
    if request.method=='POST':
        f = request.files['file']
        filename = secure_filename(f.filename)
        f.save(path.join('static/uploads',filename))
        return redirect(url_for('upload'))
    return render_template('upload.html')


@app.errorhandler(404)
def page_not_found(error):
    return render_template('404.html'), 404


@manager.command
def dev():
    from livereload import Server
    live_server = Server(app.wsgi_app)
    live_server.watch('**/*.*')
    live_server.serve(open_url=True)


if __name__ == '__main__':
    manager.run()
    #app.run(debug=True)

首先,我们要先安装几个包,用以下命令:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple livereload
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Flask-Script

然后,我们导入库和函数。如下图:
在这里插入图片描述
接着,我们再3篇的基础上,使用函数,如下图:
在这里插入图片描述
然后,我们创建一个命令,如下图:
在这里插入图片描述
我们从livereload库中导入Server,定义服务,然后使用live_server.watch()函数实施监控,里面的参数的意思是监控所有文件,live_server.serve()函数里面的参数open_url=True的意思是刷新页面。

之后,我们去修改主函数(主方法),如下图:
在这里插入图片描述
我们做完以上工作后,运行服务检测一下,如下图:
在这里插入图片描述
结果:
在这里插入图片描述
点击链接进去,看见如下画面:
在这里插入图片描述
我们输入CTRL+C退出后,再输入python app.py dev,结果如下图:
在这里插入图片描述
点击链接进去:
在这里插入图片描述
最后,感谢大家前来观看鄙人的文章,文中或有诸多不妥之处,还望指出和海涵。

猜你喜欢

转载自blog.csdn.net/weixin_43408020/article/details/107886299