python django 基础配置/常用命令

 

1.项目文件中新增   test_settings.py  prd_settings.py

 

2.py文件中区分项目的settings文件

# 判断是否为生产环境
ENV_PROFILE = os.getenv("ENV")
if ENV_PROFILE == "test":
    import OpenTheDoor.test_settings as config
elif ENV_PROFILE == "production":
    import OpenTheDoor.prd_settings as config
else:
    import OpenTheDoor.settings as config

 

 

3.常用命令

windows 环境下无法获取 PUBTYPE=value ENV=value  所以开发环境默认使用 settings.py

数据库迁移
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser

测试环境
PUBTYPE=app ENV=test python3 manage.py makemigrations --settings=hjgf.test_settings
PUBTYPE=app ENV=test python3 manage.py migrate --settings=hjgf.test_settings

生产环境
PUBTYPE=app ENV=production python3 manage.py makemigrations --settings=hjgf.prd_settings
PUBTYPE=app ENV=production python3 manage.py migrate --settings=hjgf.prd_settings
PUBTYPE=app ENV=production python3 manage.py runserver 0.0.0.0:8000 --settings=hjgf.prd_settings
PUBTYPE=app ENV=production python3 manage.py createsuperuser --settings=hjgf.prd_settings

#下载所有静态资源文件到项目的static目录中
python manage.py collectstatic
新建app python manage.py startapp xxx 安装requirement.txt pip install -r requirements.txt 生成requirement.txt pip freeze > requirements.txt

#导出数据
python manage.py dumpdata [appname] >appname_data.json
#导入数据 #根据自己的models,创建如下类似json文件
python manage.py loaddata fixture.json

 

4.进程守护配置文件

[program:test]
environment=PUBTYPE="app",ENV="test";
directory=/app/project/       ; 执行前要不要先cd到目录去,一般不用
command=python3 manage.py runserver 172.17.0.17:8001 --settings=OpenTheDoor.test_settings ;被监控的进程路径
priority=7                    ;数字越高,优先级越高
numprocs=1                    ; 启动几个进程
autostart=true                ; 随着supervisord的启动而启动
autorestart=true              ; 自动重启。。当然要选上了
startretries=10               ; 启动失败时的最多重试次数
exitcodes=0                   ; 正常退出代码(是说退出代码是这个时就不再重启了吗?待确定)
stopsignal=KILL               ; 用来杀死进程的信号
stopwaitsecs=10               ; 发送SIGKILL前的等待时间
redirect_stderr=true          ; 重定向stderr到stdout


[program:testcelery]
environment=PUBTYPE="app",ENV="test";
command=/usr/local/python3/bin/celery -A myCelery worker -B ;被监控的进程路径
directory=/app/project/       ; 执行前要不要先cd到目录去,一般不用
priority=7                    ;数字越高,优先级越高
numprocs=1                    ; 启动几个进程
autostart=true                ; 随着supervisord的启动而启动
autorestart=true              ; 自动重启。。当然要选上了
startretries=10               ; 启动失败时的最多重试次数
exitcodes=0                   ; 正常退出代码(是说退出代码是这个时就不再重启了吗?待确定)
stopsignal=KILL               ; 用来杀死进程的信号
stopwaitsecs=10               ; 发送SIGKILL前的等待时间
redirect_stderr=true          ; 重定向stderr到stdout

 

posted @ 2020-09-05 10:35  汪丛兴  阅读(327)  评论(0编辑  收藏  举报