网站的规划与创建什么装修网站做的好的

web/2025/10/1 23:19:04/文章来源:
网站的规划与创建,什么装修网站做的好的,天津建设合同备案网站,湖南长沙十大特产蓝图 使用场景 如果代码非常多#xff0c;要进行归类。不同的功能放在不同的文件#xff0c;把相关的视图函数也放进去。 蓝图也就是对flask的目录结构进行分配#xff08;应用于小#xff0c;中型的程序#xff09; 当然对于大型项目也可以通过 url_prefix 加前缀的…蓝图 使用场景 如果代码非常多要进行归类。不同的功能放在不同的文件把相关的视图函数也放进去。 蓝图也就是对flask的目录结构进行分配应用于小中型的程序 当然对于大型项目也可以通过   url_prefix 加前缀的方式实现 使用方法 # __init__.py from .views.account import ac from .views.user import usapp.register_blueprint(ac) app.register_blueprint(us)# account.py from flask import Blueprint,render_template ac Blueprint(ac ,__name__template_folderxxxx,static_url_pathxxxx)# template_folder 优先在 templates 文件夹找。找不到再去 xxxx 里找 # static_url_path 优先在 static 文件夹找。找不到再去 xxxx 里找 # url_prefix/xx 为当前蓝图的url里加前缀 目录结构 crm crmviewaccount.pyuser.pystatictemplateslogin.html__init__.pymanage.py __init__.py 只要一导入crm就会执行__init__.py文件 在此文件实现app 对象的生成以及所有蓝图的注册功能 from flask import Flask from .views.account import ac from .views.user import us def create_app():app Flack(__name__)app.before_request # 对全局的视图有效 def xx():print(app.before_request)app.register_blueprint(ac)app.register_blueprint(us)return app account.py 各自的视图文件创建蓝图对象 自己视图的使用为自己的蓝图对象 注意 视图函数的名字不能和蓝图对象重名 from flask import Blueprint,render_template ac Blueprint(ac ,__name__template_folderxxxx,static_url_pathxxxx) # template_folder 优先在 templates 文件夹找。找不到再去 xxxx 里找 # static_url_path 优先在 static 文件夹找。找不到再去 xxxx 里找 # url_prefix/xx 为当前蓝图的url里加前缀 ac.route(/login) def login():return render_template(login.html) user.py from flask import Blueprint us Blueprint(us ,__name__)us.before_request # 仅对当前的视图有效 def xx():print(us.before_request)us.route(/user) def user():return user DBUtils 链接数据库 flask中是没有ORM的如果在flask里面连接数据库有两种方式 pymysql SQLAlchemy是python 操作数据库的一个库。能够进行 orm 映射官方文档 sqlchemySQLAlchemy“采用简单的Python语言为高效和高性能的数据库访问设计实现了完整的企业级持久模型”。SQLAlchemy的理念是SQL数据库的量级和性能重要于对象集合而对象集合的抽象又重要于表和行。 pymysql 实现数据库操作 方式一  数据库链接放在视图中 每次视图的执行进行数据库连接查询关闭。 反复创建数据库链接多次链接数据库会非常耗时  解决办法放在全局单例模式 #!usr/bin/env python # -*- coding:utf-8 -*- import pymysql from flask import Flaskapp Flask(__name__)app.route(/index) def index():# 链接数据库conn pymysql.connect(host127.0.0.1,port3306,userroot,password123, databasepooldb,charsetutf8)cursor conn.cursor()cursor.execute(select * from td where id%s, [5, ])result cursor.fetchall() # 获取数据cursor.close()conn.close() # 关闭链接print(result)return 执行成功if __name__ __main__:app.run(debugTrue) 方式二  放在全局 不在频繁链接数据库。 如果是单线程这样没什么问题 但是如果是多线程就得加把锁。这样就成串行的了 为了支持并发此方法依旧不可取 #!usr/bin/env python # -*- coding:utf-8 -*- import pymysql from flask import Flask from threading import RLockapp Flask(__name__) CONN pymysql.connect(host127.0.0.1,port3306,userroot,password123, databasepooldb,charsetutf8)app.route(/index) def index():with RLock:cursor CONN.cursor()cursor.execute(select * from td where id%s, [5, ])result cursor.fetchall() # 获取数据cursor.close()print(result)return 执行成功 if __name__ __main__:app.run(debugTrue) 为此。为了解决方式一二的问题实现不频繁操作且可以并行的数据库链接我们需要用到 DBUtils  方式三 DBUtils  thread.local 为每一个线程创建一个链接是基于本地线程来实现的。thread.local 每个线程独立使用自己的数据库链接该线程关闭不是真正的关闭本线程再次调用时还是使用的最开始创建的链接直到线程终止数据库链接才关闭 #!usr/bin/env python # -*- coding:utf-8 -*- from flask import Flask app Flask(__name__) from DBUtils.PersistentDB import PersistentDB import pymysql POOL PersistentDB(creatorpymysql, # 使用链接数据库的模块maxusageNone, # 一个链接最多被重复使用的次数None表示无限制setsession[], # 开始会话前执行的命令列表。如[set datestyle to ..., set time zone ...]ping0,# ping MySQL服务端检查是否服务可用。# 如0 None never, 1 default whenever it is requested, 2 when a cursor is created, 4 when a query is executed, 7 alwayscloseableFalse,# 如果为False时 conn.close() 实际上被忽略供下次使用再线程关闭时才会自动关闭链接。如果为True时 conn.close()则关闭链接那么再次调用pool.connection时就会报错因为已经真的关闭了连接pool.steady_connection()可以获取一个新的链接threadlocalNone, # 本线程独享值得对象用于保存链接对象如果链接对象被重置host127.0.0.1,port3306,userroot,password123,databasepooldb,charsetutf8 )app.route(/func) def func():conn POOL.connection()cursor conn.cursor()cursor.execute(select * from tb1)result cursor.fetchall()cursor.close()conn.close() # 不是真的关闭而是假的关闭。 conn pymysql.connect() conn.close()conn POOL.connection()cursor conn.cursor()cursor.execute(select * from tb1)result cursor.fetchall()cursor.close()conn.close() if __name__ __main__: app.run(debugTrue) 方式四 DBUtils 链接池 创建一个链接池为所有线程提供连接使用时来进行获取使用完毕后在放回到连接池。 PS 假设最大链接数有10个其实也就是一个列表当你pop一个人家会在append一个链接池的所有的链接都是按照排队的这样的方式来链接的。 链接池里所有的链接都能重复使用共享的 即实现了并发又防止了链接次数太多 #!usr/bin/env python # -*- coding:utf-8 -*- from flask import Flask app Flask(__name__) from DBUtils.PersistentDB import PersistentDB import pymysqlPOOL PooledDB(creatorpymysql, # 使用链接数据库的模块maxconnections6, # 连接池允许的最大连接数0和None表示不限制连接数mincached2, # 初始化时链接池中至少创建的空闲的链接0表示不创建maxcached5, # 链接池中最多闲置的链接0和None不限制maxshared3, # 链接池中最多共享的链接数量0和None表示全部共享。# PS: 无用因为pymysql和MySQLdb等模块的 threadsafety都为1所有值无论设置为多少_maxcached永远为0所以永远是所有链接都共享。blockingTrue, # 连接池中如果没有可用连接后是否阻塞等待。True等待False不等待然后报错maxusageNone, # 一个链接最多被重复使用的次数None表示无限制setsession[], # 开始会话前执行的命令列 AQ 表。如[set datestyle to ..., set time zone ...]threadlocalNone, # 本线程独享值得对象用于保存链接对象如果链接对象被重置ping0,# ping MySQL服务端检查是否服务可用。# 取值# 0 None never, # 1 default whenever it is requested, # 2 when a cursor is created, # 4 when a query is executed, # 7 alwayshost127.0.0.1,port3306,userroot,password,databasecore_master,charsetutf8 ) app.route(/func) def func():conn POOL.connection()cursor conn.cursor()cursor.execute(select * from tb1)result cursor.fetchall()cursor.close()conn.close() # 不是真的关闭而是假的关闭。 conn pymysql.connect() conn.close()conn POOL.connection()cursor conn.cursor()cursor.execute(select * from tb1)result cursor.fetchall()cursor.close()conn.close() if __name__ __main__: app.run(debugTrue) 转载请标明出处:11.4 Flask 蓝图数据库链接 文章来源: 11.4 Flask 蓝图数据库链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何建立公司网站链接手机立体房屋设计软件

spring和spring在初始化应用程序上下文时,Spring在遇到带有Transactional标记的类时会创建代理。 Transactional可以应用于类级别或方法级别。 在类级别应用它意味着该类中定义的所有公共方法都是事务性的。 Spring创建的代理类型,即Jdk代理或CGLIB代理&…

办公门户网站模板自己做soho需要做网站吗

目录 提交验证 声明规则 特殊验证 一个特殊验证的示例 内联验证器 一个完整示例 参考文档 提交验证 根据经验,您永远不应该相信从最终用户那里收到的数据,并且应该在很好地使用这些数据之前对其进行验证。 给定一个model模型,用户输入填…

装饰公司东莞网站建设淄博阿雷网站建设

文章目录 Copy和FetchFile模块 Copy和Fetch copy和fetch模块实践 copy模块需要注意的点:在收集日志之前需要对文件先进行改名或者备份fetch模块需要注意的点:复制的源文件的路径必须是文件不能是目录建议全部使用绝对路径,别使用相对路径确保…

社区网站建设难点关键词带淘宝的网站不收录

🔗 运行环境:Matlab 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 🔐#### 防伪水印——左手の明天 ####🔐 💗 大家…

网站选择理由描述收录软件最多的网站

实景三维技术作为一种新兴的技术手段,正在逐渐被认为是一种新质生产力。它通过高精度的数据采集、处理和可视化,为多个行业领域提供了全新的工作方式和解决方案,从而推动了生产力的发展和创新。以下是实景三维技术作为新质生产力在不同方面的…

低价代网站淘宝客模板 wordpress

解决zblog博客Gravatar头像不显示方法一第一个,解决zblog博客Gravatar头像不显示解决方法是对其进行修复操作。造成不显示的原因主要是Gravatar头像地址错误。所以,我们需要对头像地址进行更改。1、进入自己的博客后台。2、找到现在使用的主题模板中的&a…

口碑好的企业网站建设东莞万江今天最新通知

使用 django.utils.translation.gettext_lazy() 函数,使得其中的值只有在访问时才会被翻译,而不是在 gettext_lazy() 被调用时翻译。例如:要翻译一个模型的 help_text,按以下进行:from django.utils.translation impor…

英雄联盟视频网站源码织梦模板修改网站颜色

121. 买卖股票的最佳时机 股票只能被买卖一次 dp[i][0] 持有股票所得到的最大现金, dp[i][1] 不持有股票所得的最大现金, 避免定义多个变量递推公式: dp[i][0] 可能是在之前买入, 也可能是在这次被买入 max(dp[i - 1][0],-prices[i])dp[i][1] 可能是在本次抛售, 也可能在之…

自适应网站模板怎么做做期货要看哪些网站

前端数据层高可用架构 前后端架构模式如下图 在这个架构下,客端数据可用率计算方式: 因此整体数据可用性分析表如下: 只有在客端和 BFF 都正常的情况下数据才能可用,而这种情况占比不是很高,因此整体的用户体验就不是很好。 本次建设目标 本文的设计方案就是要解决…

合肥企业网站建设软件产品如何做网站推广

一、说明 每天,人类在执行诸如过马路之类的任务时都会做出被动预测,他们估计汽车的速度和与汽车的距离,或者通过猜测球的速度并相应地定位手来接球。这些技能是通过经验和实践获得的。然而,由于涉及众多变量,预测天气或…

手机网站模板代码柳江企业网站建设公司

目录 一.准备工作 二.编写各个组件的页面结构 三.实现初始任务列表的渲染 四.新增任务 五.删除任务 六.展示未完成条数 七.切换状态-筛选数据 八.待办事项(全)代码 一.准备工作 在开发“ToDoList”案例之前,需要先完成一些准备工作&a…

电子商务网站开发难点西安外包网络推广

1. 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。数据库开启事务命令•start transaction开启事务•Rollback回滚事务•Commit提交事务JDBC控制事务语句•Connection.setAutoCommit(false); //start transa…

西宁网站seo价格白石洲附近做网站公司

目录 问题: 使用的代码: 官方文档的说明: 可能的问题所在: 关于使用了作用域插槽: a.自定义内容的样式覆盖: b.表格结构的改变: 解决方案: 通过css样式解决: 下面…

苏州企业网站建设制作方案开发公司注销时剩余未售房产如何处理

linux服务器怎么创建用户 在Linux服务器上,可以使用以下步骤创建用户: 使用adduser命令创建新用户: sudo adduser username将 username 替换为你要创建的用户名。这个命令会提示你输入新用户的密码以及其他相关信息。 如果需要为新用户设…

绵阳汽车网站制作wordpress转服务器

1.一个汉字在存储时,占据( )个字节的存储空间。 A.1 B.2 C.4 D.3 错误 正确答案:左边查询 学生答案:A 2.学习好Office办公软件这门课程,应该( )。 A.可以随便学习一下 B.只看不练 C.…

代理企业网站备案盐城网站app建设

这是您请求的故宫雪景图,角落有一只可爱的胖猫,采用了水墨画风格,类似于张大千的作品。希望您喜欢这幅画! 🎨 选项 1【转变风格】——将这幅画转变为梵高的后印象派风格,增添一些梵高特有的笔触和色彩。 &…

手机建个人网站免费word模板

Hittest 机制原理 hitTest的原理就是,当我们点击的时候,会触发 window的 hittest方法,在该方法中会首先使用point inside方法判断 点击的地方是否在window范围内,如果在的话,就倒序遍历姿子视图,然后将poi…

有没有好用的网站推荐站点推广策略包括

一.LCR 152. 验证二叉搜索树的后序遍历序列 题目描述: 给你一个二叉搜索树的后续遍历序列,让你判断该序列是否合法。 解题思路: 根据二叉搜索树的特性,二叉树搜索的每一个结点,大于左子树,小于右子树。…

免费的网站软件南昌建设银行网站

Escape Simulator 是一款逃生模拟游戏,玩家在游戏中需要寻找线索、解决谜题,以逃离各种房间或环境。这种类型的游戏通常设计有多个关卡或场景,每个场景都有不同的设计和难度。 在 Escape Simulator 中,玩家的目标通常是找到出口或…

天河高端网站建设在线课堂网站开发

文章目录 前言add_item_to_object函数是干什么的add_item_to_object代码解析函数实现函数原理解析开头的代码constant_key参数的作用最后的if判断 add_item_to_array函数 总结 前言 在我们的日常编程中,JSON已经成为了一种非常常见的数据交换格式。在C语言中&#…