在SAE上部署Python的Django框架的一些问题汇总
作者:goldensun 时间:2023-12-17 19:08:25
花了些工夫将碎片网部署到了SAE,中途遇到各类问题。感觉SAE看上去很美,实际上却并不是太成熟(至少python版如此)。
下面记录下我遇到的一些主要问题以及解决方法。
django版本问题
Django1.4都即将发布了,SAE平台自带的SAE版本依旧为1.2x。为使用django1.3版本,你需上传自己的django。具体做法可参考SAE手册中的runtime.html#virtualenv
日志模块出错
最先遇到的是日至模块的问题。错误显示AdminEmailHandler中构造某个类时带了is_mail这个参数,但目标类的构造函数根本就不支持。好在日至模块不是必须。将日至处理模块换成django.utils.log.NullHandler解决问题。
'null': { 'level':'DEBUG', 'class':'django.utils.log.NullHandler', },
local_thread问题
在index.wsgi中加入
import threading
from django.utils import _threading_local
threading.local = _threading_local.local
settings文件
SAE默认安装了不少python包,其中包括django-userena。糟糕的是SAE将django-userena的demo项目也加到了python路径,而且加载的优先级比项目代码还高。直接导致os.environ[‘DJANGO_SETTINGS_MODULE'] = ‘settings'找到的是userena的settings文件。最终将settings文件改名为qnotes_settings.py解决该问题。
其他问题
昨天部署上线后经常出现数据库错误,错误提示为Caught OperationalError while rendering: (1045, ‘access deny') 。SAE数据库不支持长连接,30s后主动超时。但django本就会在每次请求后自动关闭数据库连接,理论上不应当出现类似问题。该问题今天莫名其妙的自己好了。
服务器非常不稳定,经常长时间的无法访问,不定期的可以正常访问。
SAE可能hack了python的包加载机制的原因,SAE的python包的加载行为有些奇怪。本应当最先加载当前目录下的包,实际上却不一定。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
js实现圆形菜单选择器
![](https://img.aspxhome.com/file/2023/8/56308_0s.jpg)
浅谈Python flask框架
![](https://img.aspxhome.com/file/2023/7/85257_0s.png)
深入string理解Golang是怎样实现的
![](https://img.aspxhome.com/file/2023/1/114811_0s.jpg)
讲解SQL Server危险扩展存储删除和恢复
Django框架首页和登录页分离操作示例
![](https://img.aspxhome.com/file/2023/2/88892_0s.png)
字符集和字符编码(Charset & Encoding)
![](https://img.aspxhome.com/file/2023/0/109530_0s.png)
python实现简单学生信息管理系统
![](https://img.aspxhome.com/file/2023/0/112750_0s.jpg)
python中使用pyhook实现键盘监控的例子
Mysql数据库group by原理详解
![](https://img.aspxhome.com/file/2023/0/69270_0s.png)
MySQL数据库21条最佳性能优化经验
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
解决layer弹出层msg的文字不显示的问题
![](https://img.aspxhome.com/file/2023/3/135933_0s.jpg)
spring boot 不连接数据库启动的解决
Django实现CAS+OAuth2的方法示例
用Python的Django框架来制作一个RSS阅读器
![](https://img.aspxhome.com/file/2023/6/66406_0s.jpg)
浅谈Selenium+Webdriver 常用的元素定位方式
![](https://img.aspxhome.com/file/2023/7/67377_0s.jpg)
PHP基础用法讲解及phpinfo();演示
![](https://img.aspxhome.com/file/2023/3/55373_0s.jpg)
Tensorflow之MNIST CNN实现并保存、加载模型
![](https://img.aspxhome.com/file/2023/7/65877_0s.jpg)
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
![](https://img.aspxhome.com/file/2023/4/115874_0s.jpg)
Python实现AI自动抠图实例解析
![](https://img.aspxhome.com/file/2023/2/125152_0s.png)