前端js使用localStorage的时候只能存字符串,不能存储对象 cz-storage 可以存储 object undefined number string 2. localStorage没有过期时间...expiredTime) // expiredTime 过期时间单位是天 1/8 === 3小时 LS.put('key', value, 1) // 获取值 LS.get('key') // 清楚所有缓存
Cache cache = Cache() 也可以使用配置文件的方式,推荐使用这种方式 setting.py class Config: CACHE_TYPE = 'simple' 常用配置参数详解...= 'simple' # 使用本地python字典进行存储,线程非安全 CACHE_TYPE = 'filesystem' # 使用文件系统来存储缓存的值 CACHE_DIR = "" # 文件目录...参数: timeout:超时时间 key_prefix:设置该函数的标志 unless:设置是否启用缓存,如果为True,不启用缓存 forced_update:设置缓存是否实时更新,如果为...() # 清除缓存所有的缓存,这个操作需要慎重 cache.cache # 获取缓存对象 BaseCache对象 所有类型的缓存对象都继承自flask框架的BaseCache,它定义了一个使用缓存的标准接口...如果flask_caching当前集成的缓存服务器不符合我们的要求,比如需要使用mongodb做为后端缓存,那么我们可以自己实现那些标准接口。
浏览器发现文件名有更改,会重新获取静态资源,达到了不缓存文件的目的。 使用HTML禁用缓存 HTML也可以禁用缓存, 即在页面的head标签中加入meta标签。...该方法不适用于特定文件不缓存的要求。 应用 掌握了以上缓存与不缓存的方式,接下来该进行实战了。...那么可以考虑将需要动态替换的文本配置放入.env文件,并在打包的时候,将.env文件的配置暴露出去成为JS文件,这样就可以打包后进行修改JS文件,让配置实时生效。...打包后可以修改配置文件里的值,并且确保浏览器不会对该文件进行缓存后,刷新浏览器便可以得到最新的替换文本。这里我采用了使用随机数的方式来让浏览器不缓存文件。...也总结了如何让浏览器不缓存文件,方式包括: Cache-control: no-store 静态资源文件增加版本号 静态资源文件增加随机数 使用meta标签禁用缓存 最终使用了静态资源文件后面拼接时间戳的方式来达到不缓存文件的目的
安装 pip install Flask-Caching 配置 exts.py from flask_caching import Cache # 缓存 cache = Cache() __init_... = 'filesystem' # 使用文件系统来存储缓存的值 CACHE_DIR = "" # 文件目录 CACHE_TYPE = 'memcached' # 使用memcached服务器缓存 CACHE_KEY_PREFIX...参数: timeout:超时时间 key_prefix:设置该函数的标志 unless:设置是否启用缓存,如果为True,不启用缓存 forced_update:设置缓存是否实时更新,如果为True,...cache.delete('view//gbook.html') BaseCache对象 所有类型的缓存对象都继承自flask框架的BaseCache,它定义了一个使用缓存的标准接口,通过继承BaseCache...实现这些接口就可以在flask中方便的集成各种缓存;而flask_caching插件为我们对redis、memcached等实现了接口,做好了适配工作,我们可以直接使用。
Flask学习过程中,小编认为路径很重要, - 前端怎么拿取服务器资源,(如:static路径) -后台怎么部署前端,(如:templates路径) -前端如何给后端发送请求,(如:ajax请求路径)...-后端又如何回复请求(如:回复路由,往往回复一个json对象) - … 1、引入本地静态css,js文件: 比如文件路径:static/css/pintuer.css,路径如下: <link rel=...代码中对templates模板的引用 路径:实际的路由 以js文件中配置templates/404.html为例, //js { "title" : "css", "icon" : "...文件中对templates模板的引用 参照4 6、js文件中对其他内嵌js文件的引用 以layui内置为例,在index.js 引入 bodyTab.js bodyTab.js 项目路径:/static...,那么重启,浏览器的cookie仍然存留(新的路径不被采用,大概率是直接从缓存中取),建议每次调试Ctrl + F5,或者F12开发者下在Network下右键Clear browser cache,可以看到服务器处理了一个页面的全部请求
基于登录表单,flask 20 支持多文件上传 ?...upload app.py from flask import Flask,flash,redirect,render_template, url_for,session,send_from_directory...,request import os import uuid from flask_wtf.csrf import validate_csrf from wtforms import ValidationError...from form import LoginForm,UploadForm,MultiUploadForm app = Flask(name) app.secret_key = os.getenv...return redirect(url_for('show_images')) return render_template('upload.html', form=form) form.py from flask_wtf.file
import os from flask import Flask, render_template, request from flask_dropzone import Dropzone basedir...= os.path.abspath(os.path.dirname(file)) app = Flask(name) app.config.update( UPLOADED_PATH=os.path.join...(basedir, 'uploads'), # Flask-Dropzone config: DROPZONE_MAX_FILE_SIZE=1024, # set max size limit to
Android Picasso不缓存图片 问题描述:大多APP都有更换个人头像的功能,楼主在开发中遇到了当更换头像时,头像没有更换过来的问题,我用的是Picasso图片请求框架,而这些加载图片的框架一般都会有三级缓存策略...,当我们去加载一张图片的时候就会优先查找本地有没有,当一张图片已经加载过了之后就会缓存到本地,虽然我们更换了头像,但是图片的url没有变,所以再次加载的时候还是原来本地缓存的图片,而不是新的图片,所以我们在加载图片的时候可以设置不进行缓存即可...transform(new CircleTransform(mContext)).into(ivIcon); 其中.memoryPolicy(MemoryPolicy.NO_CACHE)这句的意思就是不进行缓存
1.上传文件和访问上传的文件 upload_file_demo.py from flask import Flask,request,render_template import os from werkzeug.utils...import secure_filename from flask import send_from_directory app = Flask(__name__) #新建images文件夹,UPLOAD_PATH...(UPLOAD_PATH,filename)) print(desc) return '文件上传成功' #访问上传的文件 #浏览器访问:http://127.0.0.1...from flask_wtf.file import FileRequired,FileAllowed class UploadForm(Form): avatar = FileField(...import Flask, request, render_template import os from werkzeug.utils import secure_filename from flask
flask-Dropzone 初始化: from flask_dropzone import Dropzone app = Flask(name) dropzone = Dropzone(app)...or from flask_dropzone import Dropzone dropzone = Dropzone() def create_app(): app = Flask(name)...dropzone.init_app(app) return app 页面中引入JS ... {{ dropzone.load_css() }} ...... {{ dropzone.load_js() }} 页面中渲染 {{ dropzone.style('border: 2px dashed #0087F7; margin...: 10%') }} {{ dropzone.create(action='处理上传文件的路由URL') }} 服务端处理 import os from flask import Flask
'css' -%} {%- elif type == 'js
='gen/packed.js') assets.register('js_all', js) 创建Bundle对象可以传递任意数量的源文件作为参数,使用output参数指定输出文件路径,使用filters...之后,就可以将上配置的源文件进行合并与压缩处理,最终在页面中使用如下方式引用打包好之后的静态js文件。...Flask 蓝图 如果在项目中用到蓝图,则可以给源文件加上蓝图的前缀来引用蓝图中的静态文件。...例如: js = Bundle('app_level.js', 'blueprint/blueprint_level.js') 在上面的例子中,Bundle将打包以下两个文件: {APP_ROOT}/static...直接在模板中进行配置 也可以直接在模板文件中配置打包文件: {% assets filters="jsmin", output="gen/packed.js", "common/jquery.js
性能优化很常见的一个方式是提前加载文件,本文讨论如何在其他依赖未加载情况下提前加载一个.js文件。...1.导出一个函数 如果使用 加载一个js 文件,如果加载的js 是一个自执行文件,那么会出现错误。...2.使用xhr 或者fetch 加载 可以使用xhr 或者 fetch 来获取js 文件,可以得到js 字符串,在需要获取的时候在使用eval方法进行调用,以下以fetch 为例,具体调用如下: fetch...并且是在不阻塞 document 的 onload 事件的情况下请求资源。具体是使用。...使用 Image 当preload 方式发现不兼容(caniuse 查询)时,可以使用Image来实现,Image对象的src 属性可以设置资源url,通过这个方式我们可以提前拉取资源。
需求 Flask默认的设置 静态文件的默认文件夹:static 静态文件的默认访问前缀:/static 模板文件的默认文件夹:templates 在Django项目中,如果需要访问静态文件,默认则是使用...='static', # 配置静态文件的文件夹 template_folder='templates') # 配置模板文件的文件夹 配置示例 在Flask的项目中的static...编写app.py的代码 from flask import Flask # 创建flask的应用对象 # __name__表示当前的模块名称 # 模块名: flask以这个模块所在的目录为根目录,默认这个目录中的...# 导入Flask类 from flask import Flask # 实例化app,参数如下: # import_name, # static_url_path=None, # static_folder...='static', # 配置静态文件的文件夹 template_folder='templates') # 配置模板文件的文件夹 # route()方法用于设定路由;类似
SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_DATABASE_URI = os.getenv('DATABASE_URI', dev_db) app.py app = Flask
from flask_bootstrap import Bootstrap from flask_ckeditor import CKEditor from flask_login import LoginManager...from flask_mail import Mail from flask_moment import Moment from flask_sqlalchemy import SQLAlchemy...from flask_wtf import CSRFProtect from flask_debugtoolbar import DebugToolbarExtension from flask_migrate...import Migrate from flask_script import Manager bootstrap = Bootstrap() db = SQLAlchemy() login_manager
HTML部分 JS部分 var files = $("#upload").get(0).files; var formData...data:formData, ... }) Flask部分 @route("/upload", methods=["POST"]) def upload(): files = request.files.getlist
MAIL_USERNAME=os.getenv('MAIL_USERNAME') MAIL_PASSWORD=os.getenv('MAIL_PASSWORD') MAIL_DEFAULT_SENDER=('flask...development':DevelopmentConfig, 'testing':TestingConfig, 'production':ProductionConfig } app.py from flask...import Flask from views.admin import admin_bp from views.auth import auth_bp from views.blog import...(file)) def create_app(config_name=None): if config_name is None: config_name = os.getenv('FLASK_CONFIG...', 'development') app = Flask('bluelog') app.config.from_object(config[config_name]) register_blueprints
禁止IIS缓存静态文件(png,js,html等)背景: IIS为了提高性能,默认情况下会对静态文件js,html,gif,png等做内部缓存,这个缓存是在服务器iis进程的内存中的。...IIS这么做在很大程度上可以提高静态文件的访问性能,在正常情况下只要静态文件更新了IIS也会更新缓存。但是如果更新的静态文件很多就有可能出现缓存不更新的情况。...如何禁止IIS缓存静态文件(png,js,html等): 通过设置Http头不让浏览器缓存的方法在这个场景下是行不通的,因为缓存不是出现的客户端,而是出现在IIS服务器上;所以解决问题还需要从IIS本身入手...,通过配置Metabase.xml文件禁止IIS缓存相应目录下的静态文件。...注意事项: 通常情况下我们并不需要禁用IIS的静态文件缓存,iis会自动根据静态文件的修改时间自动更新缓存;只有在你遇到非常情况下才有必要禁用IIS缓存。
mongovue是mogodb的一个可视化操作工具,下面介绍一下这个工具的一些简单应用
领取专属 10元无门槛券
手把手带您无忧上云