zoukankan      html  css  js  c++  java
  • Flask

    在用命令行执行mkvirtualenv flask 创建虚拟环境之前先安装以下两个模块:

    pip install virtualenv

    pip install virtualenvwrapper-win

    cd 到存放虚拟环境光的地址

    mkvirtualenv ENV -p /usr/local/bin/python2.7 在当前目录下创建名为ENV的虚拟环境(如果第三方包virtualenv安装在python3下面,此时创建的虚拟环境就是基于python3的),-p 指定python版本创建虚拟环境

    mkvirtualenv --system-site-packages ENV 参数 --system-site-packages 指定创建虚拟环境时继承系统三方库

    pip install flask==1.0.2

    Flask 修改静态文件不生效的解决方案

    主要原因:5000端口可能被占用

     1.查看一下‘5000’端口被哪些应用占着:Netstat -ano|find “5000”

     2.任务管理器->性能->打开资源监视器,找到相应的pid,将其终止

     3.然后在pycharm中重新运行,一切OK。

    以后防止此类现象再次发生,如下图开启debug模式即可。

     如何在不重启的情况下,刷新修改过后的前端页面内容:

    app.jinja_env.auto_reload=True
    app.config['TEMPLATES_AUTO_RELOAD']=True
    app.run(debug=True,host='0.0.0.0')

    Flask图片不更新问题:在使用flask进行web开发时,需要将图片上传并展示,对于上传的图片都进行重命名并保存在static文件夹下,然而发现多次上传后展示的图片还是原来的图片,尽管后端显示图片已更新成最新上传的图片,前端还是展示原来的图片,该问题解决方案(在main.py文件中增加以下代码):

    # url_for,修改静态文件(js,css,image)时,网页同步修改
    import os
    from flask import url_for
    
    @app.context_processor # 上下文渲染器,给所有html添加渲染参数
    def override_url_for():
        return dict(url_for=dated_url_for)
    
    def dated_url_for(endpoint, **values):
        filename = None
        if endpoint == 'static':
            filename = values.get('filename', None)
        if filename:
            file_path = os.path.join(app.root_path, endpoint, filename)
            values['v'] = int(os.stat(file_path).st_mtime) # 取文件最后修改时间的时间戳,文件不更新,则可用缓存
        return url_for(endpoint, **values)

     通过刷新浏览器来解决:在浏览器里按ctrl+shift+delete清除缓存

    关于Flask通过.env加载环境变量的两个坑

  • 相关阅读:
    Oracle notes
    jQuery笔记
    sql developer 要求enter the full pathname for java.exe
    [Error] WCF: SOAP security negotiation
    Unity
    Windows Form 开发笔记
    WP开发 资料整理
    乔迁新居:http://longwarelive.spaces.live.com/
    2008年1月1日启用 longware@live.cn
    《程序员》杂志揭晓2007软件中国年度评选
  • 原文地址:https://www.cnblogs.com/137point5/p/15100910.html
Copyright © 2011-2022 走看看