当前位置: 首页 > news >正文

做指甲的网站一份完整的营销策划书

做指甲的网站,一份完整的营销策划书,社团网站建设的功能定位,ckplayer网站根目录Flask-Caching Flask-Caching 是 Flask 的一个扩展#xff0c;它为 Flask 应用提供了缓存支持。缓存是一种优化技术#xff0c;可以存储那些费时且不经常改变的运算结果#xff0c;从而加快应用的响应速度。 一、初始化配置 安装 Flask-Caching 扩展#xff1a; pip3 i…Flask-Caching Flask-Caching 是 Flask 的一个扩展它为 Flask 应用提供了缓存支持。缓存是一种优化技术可以存储那些费时且不经常改变的运算结果从而加快应用的响应速度。 一、初始化配置 安装 Flask-Caching 扩展 pip3 install Flask-Caching配置说明 CACHE_TYPE: 指定缓存类型。可以是 “null”无缓存、“simple”简单缓存、“redis”、“memcached” 等。简单缓存SimpleCache是内存中的缓存不需要额外的缓存服务器。CACHE_DEFAULT_TIMEOUT: 缓存项的默认过期时间秒。 示例代码 from flask import Flask from flask_caching import Cacheconfig {DEBUG: True, # Flask 的调试模式CACHE_TYPE: SimpleCache, # 使用简单缓存CACHE_DEFAULT_TIMEOUT: 300 # 缓存默认超时时间5分钟 }app Flask(__name__) app.config.from_mapping(config) cache Cache(app) # 初始化缓存对象二、使用缓存 在路由中可以使用 cache.set 方法来设置一个缓存项使用 cache.get 方法来获取缓存项。 设置缓存 app.route(/) def index():cache.set(name, bruce) # 设置缓存项return index获取缓存 app.route(/get) def get():res cache.get(name) # 获取缓存项 return res if res else Not cached注意cache.get 方法在缓存项不存在或已过期时将返回 None所以在返回结果时你可能需要检查它是否为 None。 三、缓存到 Redis 如果想使用 Redis 作为缓存后端你需要安装 Redis 服务器和 redis Python 包并更改 CACHE_TYPE 配置 pip3 install redis然后配置 Flask 应用使用 Redis config {CACHE_TYPE: RedisCache, # 使用 Redis 缓存# 配置 Redis 服务器地址和端口CACHE_REDIS_URL: redis://localhost:6379/0# 其他 Redis 相关配置... }使用 Flask-Caching 可以显著提高应用的性能特别是在处理那些计算密集型或数据库密集型的请求时。不过需要注意合理配置缓存的过期时间以避免缓存的数据过时。 Flask信号 一、简单介绍 信号的概念 信号 是一种松耦合的通信方式允许对象间的交互而不需要显式调用对方的方法。在 Flask 和 Django 中信号可以用于监听和响应框架的特定事件如请求开始、模板渲染、模型保存等。 信号与信号量的区别 信号Signal是观察者模式的一种实现用于事件通知和通信。信号量Semaphore是并发编程中用于控制对共享资源访问的计数器锁。 信号的好处 低侵入性信号允许在不修改现有代码的基础上添加新的功能或行为。解耦信号可以降低代码间的依赖关系提高模块化。 面向切面编程AOP 这种编程范式允许开发者定义跨多个对象的横切关注点cross-cutting concerns如日志、事务管理等。信号可以看作是AOP的一种实现方式。 信号与请求扩展的关系 信号可以完成之前在请求扩展中完成的事情。它们的机制不同请求扩展通常通过装饰器或中间件来修改请求处理流程而信号则是在特定事件发生时触发。信号更为丰富可以在更多的事件点进行操作。 二、内置信号的使用 1.Flask内置信号 request_started在请求到来前执行。request_finished在请求结束后执行。before_render_template在模板渲染前执行。template_rendered在模板渲染后执行。got_request_exception在请求执行出现异常时执行。request_tearing_down在请求执行完毕后自动执行无论成功与否。appcontext_tearing_down在应用上下文执行完毕后自动执行无论成功与否。appcontext_pushed在应用上下文push时执行。appcontext_popped在应用上下文pop时执行。message_flashed当调用flask.flash在其中添加数据时自动触发。 2.简单使用 以下是使用before_render_template信号的示例 编写一个响应信号的函数这个函数会在信号被触发时执行。 def func1(*args, **kwargs):print(模板渲染了)print(args)print(kwargs.get(template).name)if index.html kwargs.get(template).name:print(记日志了)这个函数接收任意数量的位置参数和关键字参数并检查模板的名称。如果模板是index.html它将打印一条日志消息。 将函数绑定到信号使用connect方法将函数绑定到before_render_template信号。 from flask import signals signals.before_render_template.connect(func1)这样每当模板渲染之前func1都会被调用。 等待信号触发通过正常的路由和模板渲染流程信号会被自动触发。 app.route(/string:name) def index(name):return render_template(index.html, namename)app.route(/login) def login():return render_template(login.html)当访问/或/login路径时对应的模板将被渲染并且在渲染之前func1会被调用。 三、flask自定义信号 1.自定义信号的步骤 自定义信号使用flask.signals._signals.signal来创建一个新的信号。编写响应函数这个函数会在信号被触发时执行。将函数绑定到自定义信号使用connect方法将函数绑定到你的自定义信号上。手动触发信号在应用程序逻辑中当满足特定条件时手动发送触发信号。 2.示例 from flask import Flask, request from flask.signals import _signalsapp Flask(__name__) app.debug True# 定义一个自定义信号 create_user_signal _signals.signal(create_user) # 修改信号名称以避免混淆# 编写回调函数当自定义信号触发时执行 def func1(*args, **kwargs):print(自定义信号执行了, kwargs)# 将回调函数绑定到自定义信号 create_user_signal.connect(func1)def create_user_handler(sql, name):# 触发自定义信号传递额外的参数create_user_signal.send(namename) # 使用正确的信号对象来发送信号# 数据库操作...print(sql % name)app.route(/create_user/name) def create_user(name):print(创建用户, name)sql insert into user (name) values (%s)create_user_handler(sql, name)return f创建用户{name} 成功if __name__ __main__:app.run()四、Django中的信号 1.内置信号 Model signals与模型操作相关的信号。 pre_init在模型实例初始化之前触发。post_init在模型实例初始化之后触发。pre_save在模型实例保存之前触发。post_save在模型实例保存之后触发。pre_delete在模型实例删除之前触发。post_delete在模型实例删除之后触发。m2m_changed在多对多字段改变时触发。class_prepared在应用启动时模型类准备好后触发。 Management signals与数据库迁移相关的信号。 pre_migrate在执行迁移命令之前触发。post_migrate在执行迁移命令之后触发。 Request/response signals与请求和响应相关的信号。 request_started在请求开始时触发。request_finished在请求结束时触发。got_request_exception在请求处理中出现异常时触发。 Test signals与测试相关的信号。 setting_changed在测试中修改设置时触发。template_rendered在测试中渲染模板时触发。 Database Wrappers connection_created在创建数据库连接时触发。 2.信号的使用 写一个函数 from django.db.models.signals import pre_save import loggingdef callBack(sender, **kwargs):# 这里可以添加逻辑例如过滤特定的表print(对象保存了)# 可以在这里执行异步任务比如使用 Celery绑定信号 方法一直接使用 connect 方法。 pre_save.connect(callBack)方法二使用装饰器 receiver。 from django.dispatch import receiverreceiver(pre_save) def my_callback(sender, **kwargs):print(对象创建成功)print(sender)print(kwargs)3. 自定义信号 定义信号使用 django.dispatch.Signal 创建一个新的信号。 编写回调函数创建一个函数来响应信号。 连接信号使用信号的 connect 方法将回调函数与信号连接。 触发信号在适当的位置使用信号的 send 方法来手动触发信号。 示例 import django.dispatch# 定义信号 pizza_done django.dispatch.Signal(providing_args[toppings, size])# 编写回调函数 def callback(sender, **kwargs):print(Pizza is ready!)print(sender, kwargs)# 连接信号 pizza_done.connect(callback)# 触发信号 pizza_done.send(senderseven, toppingspepperoni, sizelarge)
http://www.hkea.cn/news/14262119/

相关文章:

  • 制作自己的网站需要什么模板网站和插件有哪些
  • 恐龙网站建设淘宝网站开发费用
  • 成品网站能用吗网站建设上海网站建设公司网站
  • 网站前台设计模板如何用微信分享wordpress
  • 网站百度seo推广怎么做role wordpress
  • 成都建设规划局网站八年级信技做网站
  • 包头做网站的公司招聘信息ip反查域名网站
  • 淘客网站如何做推广上海市公共资源交易平台
  • 网站建设工作室 怎么样wordpress主题模块添加图片
  • wordpress 多站点 主站点wordpress数据库调用文章
  • 定制制作网站设计岱山建设网站
  • 成都装修网站制作价格做视频网站成本
  • 南宁市网站设计专业层析成像代做网站
  • 做暖暖网站能看外国网站的浏览器
  • 武昌做网站响应式网站自助
  • 相册网站建设方案网站建设与维护期末试卷
  • 佛山设计网站公司设计个企业网站网页咋弄
  • 重庆定制网站开发wordpress更改生成小图大小
  • 做网站的流程与步骤网站alt标签
  • 网站如何备案icp免费推广网站短视频
  • 制作网站分析商业模式网站视频你懂我意思吧app
  • seo网站推广推荐哈尔滨城市建设局网站
  • 网站的基本建设投资广州建立网站的公司网站
  • 做一个网站如何做可信赖的郑州网站建设
  • 网站备案编号查询自建网站需要备案吗
  • 网站建设哪家公司好中山百度网站建设
  • 任丘建设网站制作WordPress链接有中文导致打不开
  • 如何制作自己的网站的邮箱山西省建设厅网站打不开
  • 大良品牌网站建设做阿里巴巴1688网站程序
  • 吴川网站建设人才网网站模板