创建项目:

vscode -> 终端 -> 新建终端
django-admin startproject devops
python manage.py startapp myapp

ORM:

安装MySQL库:

pip install pymysql

注意:如果使用的是pymysql需要在init文件中导入pymysql

vim __init__.py
import pymysql
pymysql.install_as_MySQLdb()

安装应用:

INSTALLED_APPS = [
    'myapp', # 添加此行
]

同步数据表:

python manage.py makemigrations
python manage.py migrate


启动项目:

python manage.py runserver


启动shell:

python manage.py shell


创建管理员账号:

python manage.py createsuperuser

常用配置:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'myapp/templates')], # 配置模版路劲,这样写模版是在应用下的子目录里面
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

这样写模本放在应用同级别目录下的templates目录里:

'DIRS': [os.path.join(BASE_DIR, 'templates')], # 配置模版路劲


安装与导出依赖:

pip freeze > requirements.txt
pip install -r requirements.txt

只保存当前虚拟环境ENV的依赖包:

pip install pipreqs
pipreqs .

Dockerfile:跑Django的镜像

# 使用官方Python 3.6.8镜像作为基础
FROM python:3.6.8

# 设置环境变量,确保Python输出直接显示在容器日志中
ENV PYTHONUNBUFFERED 1

# 创建并设置工作目录
RUN mkdir /app
WORKDIR /app

# 配置国内PyPI镜像加速(可选)
RUN mkdir -p /root/.pip && \
    echo "[global]\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple" > /root/.pip/pip.conf

# 先复制依赖文件并安装,利用Docker层缓存优化
COPY requirements.txt /app/
RUN pip install --no-cache-dir -r requirements.txt

# 复制整个项目到容器中
COPY . /app/

# 暴露Django默认端口
EXPOSE 8000

# 启动Django开发服务器
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]