Django-gunicorn配置使用

  • 安装

pip install gunicorn

在项目的setting注册应用 gunicorn

在manage.py所在目录下:

gunicorn TPlat.wsgi:application -b 10.8.210.30:61030

-b 指定运行ip及端口

--workers 8 启用8个线程来运行程序,一般看CPU的核数

--worker-class gevent 使用gevent异步工作模式来运行程序

使用前需要安装 pip install gevent

静态文件加载问题:
在TPlat/urls.py中加入,注意位置

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = [
     url('^admin/', admin.site.urls),
]
urlpatterns += staticfiles_urlpatterns()

Layui弹出层,下拉框遮挡问题

弹出层,会使用到layui-layer-content,在新增、修改按钮,弹出弹出层后,设置layui-layer-content的一个属性为

$('#edit_ip').parent().attr('style','overflow:visible !important');

linux多线程连接数据库时抛出异常

在linux下,多线程去连接数据库时会异常(windows下不会有这种情况)2006 mysql server has gone away
需要先关闭旧的数据库连接

from django.db import close_old_connections

然后在进程开始后的第一句中,将旧的数据库连接关闭

close_old_connections()

RF无法执行用例

在C:\Python27\Scripts 目录下建立一个pybot.bat
@Echo off
python -m robot.run %*

RF无法获取w10管理员执行权限

建立一个runrobot.bat,然后以管理员权限运行这个bat
python C:\Python27\Scripts\ride.py

robot命令执行优化

指定报告标题,运行整个目录下的suites
robot --logtitle TestReport --reporttitle TestReport suites [目录]

robot字典取值

&{log_dict}[pid] 中间不需要加引号

robot执行时编码异常

reload(sys)
sys.setdefaultencoding('utf8')

str和unicode字符转换

python str 和 unicode字符转换:
unicode转化为str,采用encode 编码:
str = u.encode('gbk')
str转化为unicode ,采用decode 解码:
unicode = s.decode('gbk')

创建有顺序的字典

import collections
dic = collections.OrderedDict()

前端导出excel失败

因为ajax无法直接接收文件流

window.open('/export_excel/')

获取当前路径

#获取当前路径
os.getcwd()
#组合路径
os.path.join(os.getcwd(),'lib','action_event.yaml')  

linux在另一个进程中使用models

linux要在另一个进程中使用models 需要在文件的最前面导入这些:
import django
import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "TPlat.settings")
django.setup()