Skip to content

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 访问django

uwsgi.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.helper

vscode 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
}