我正在研究Flask教程,并对使用应用程序上下文连接数据库感到困惑.在页面上,作者说:
始终创建和关闭数据库连接的效率非常低,因此您需要将其保留更长时间.由于数据库连接封装了事务,因此您需要确保一次只有一个请求使用该连接.
但是,创建和关闭连接似乎正是代码所完成的.我们有一个视图get_db
连接到数据库,返回一个连接对象,并将其添加到应用程序上下文(如果不存在).我们还有一个close_db
视图,当应用程序上下文被拆除时关闭连接对象.
我对这里发生的事情的理解如下:用户连接到应用程序的主页,建立与数据库的连接,然后关闭它.每次用户向页面发出请求(例如,发布新的博客条目)时,与数据库建立新连接,然后在请求完成时关闭.那么使用应用程序上下文的价值是什么呢?为什么不直接为每个请求创建和关闭连接?
也许我在这里误解了一些东西 - 任何洞察力都赞赏!
我有一些文本从英文翻译成简体中文.但是,当我收到文件时,字符出现乱码.因此,例如,我们有一条线描述"ΪÁËÓÐЧ¢¸ßЧμØÊμÏÖÄ¿±ê£¬£îСҪμÄÊÇʲ",而不是包含我所期望的汉字.
我已经尝试将上面的字符串粘贴到Python解释器中,将其转换为Unicode,并使用各种中文字符集进行解码,但无济于事.有没有人对此有所了解?谢谢.