python django
https://mirrors.tuna.tsinghua.edu.cn/help/pypi/ python .\manage.py startapp orgs
sh
通过 django 创建 项目
django-admin startproject 项目名称
django-admin startproject demo
创建一个应用
python .\manage.py startapp app
命令行启动
python .\manage.py runserver
生成 表结构
python .\manage.py makemigrations
python .\manage.py migrate
django admin
python .\manage.py createsuperuser
---------------------------------------
# django部署
www.cnblogs.com/freely/p/8027937.html
先安装 venv 虚拟环境 在虚拟环境中操作
修改settings.py
DEBUG = False
# uwsgi + nginx 访问djangouwsgi.ini
properties
[uwsgi]
socket = 0.0.0.0:8000
chdir = /root/backendmanage
wsgi-file = /root/backendmanage/backendmanage/wsgi.py
home = /root/backendmanage/.venv
master = true
processes = 4
threads = 2
vacum = true
threads = 2
vacum = true
#使进程在后台运行,并将日志打到指定的日志文件
daemonize= /root/backendmanage/uwsgi.log
pidfile=uwsgi.pid相关命令
sh
# 停止
uwsgi --stop uwsgi.pid
# 启动
uwsgi --ini /root/backendmanage/uwsgi.ini
# 重启
uwsgi --reload uwsgi.pid
# 必须关闭 SELINUX=disabled 重启 否则 不生效会有 静态资源403的问题脚本
sh
#!/bin/bash
case "$1" in
"start")
echo "started"
uwsgi --ini /root/backendmanage/uwsgi.ini
;;
"stop")
echo "stop"
uwsgi --stop uwsgi.pid
;;
"restart")
echo "restart"
uwsgi --reload uwsgi.pid
;;
*)
echo "your params is error (start ,stop, restart)"
;;
esac如何导入指定目录的文件
假设你的项目结构如下:
sh
project/
│
├── utils/
│ └── helper.py # 你想导入的文件
│
└── subfolder/
└── main.py # 当前运行的脚本在 main.py 中写入:
python
import sys
import os
# 获取当前文件所在目录的上级目录
parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(parent_dir)
# 现在可以导入上级目录中的模块
import utils.helper # 或者 from utils import helper方式2 推荐现代写法(使用 pathlib,Python 3.4+)
python
import sys
from pathlib import Path
# 将上级目录加入 sys.path
sys.path.append(str(Path(__file__).resolve().parent.parent))
import utils.helpervscode code runner 中文乱码
修改 settings.json .vscode 目录下
sh
{
"terminal.integrated.env.windows": {
"PYTHONIOENCODING": "utf-8",
"LANG": "zh_CN.UTF-8"
},
"code-runner.executorMap": {
"python": "set PYTHONIOENCODING=utf-8 && python -u"
},
"python.terminal.activateEnvironment": false,
"python.terminal.executeInFileDir": true
}