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