Django-环境配置+主要项目文件说明+数据库连接

2025-09-03

之前用Django写了一些CRM的内容,不过后续离职、搬家、旅游……就一直空置,最近重新拾起来,争取完成一个可用的CRM系统。

U1S1,关于Django现在我是脑子空空,毛都记不得了,还好当时记了笔记(虽然有点小乱)。越发觉得记录是个很重要的事情,就像科幻作品里的那种,什么驰援未来计划一类的。

因为电脑更换,所以环境啥的需要重新配置下,正好重新详细梳理下。

环境配置

使用conda虚拟环境。

conda install django
pip install djangorestframework
pip install drf-spectacular
pip install mysqlclient

项目文件说明

cd E:\CRM                 # 移步到你的项目目录
django-admin startproject mycrm .   # 创建项目,注意最后的点,表示“当前目录”
python manage.py startapp customer  # 这个可以创建app(子应用),也就是具体的功能模块

E:\CRM\
├── customer\【业务模块】
│   ├── __init__.py
│   ├── admin.py【配置Django后台如何编辑你的模型(让Bill能在/admin里管理)】
│   ├── apps.py【存放App配置,本地一般不用动。】
│   ├── migrations\【数据库迁移记录的脚本,每加/改模型字段都会多一个脚本,让你数据库和代码同步。】
│   │   └── __init__.py
│   ├── models.py【写数据表解构】
│   ├── tests.py【放自动化测试代码。】
│   └── views.py【写视图,用户请求从这里进,比如API接口,Web界面】
├── mycrm\【主项目目录】
│   ├── __init__.py
│   ├── asgi.py【支持异步服务标准,如Daphe、Channels】
│   ├── settings.py【核心配置文件,数据库连接、已安装的应用、静态文件路径、Django安全参数都在这儿改】
│   ├── urls.py【总路由表,定义URL分发到哪个APP或者视图】
│   └── wsgi.py【用于部署Web Server Gateway Interface配置,外部gunicorn,uwsgi托管Django应用时用到】
├── db.sqlite3【默认生成的SQLite数据库文件,轻量级项目可以直接用】
├── manage.py【操作Django项目入口脚本】

python manage.py runserver    # 运行指令

python manage.py createsuperuser  # 首次使用后台创建超级管理员
(13989,1398943200@qq.com,was13579) 用户名、邮箱、密码
http://127.0.0.1:8000/admin/ 就可以进入后台了

数据库连接

需要装一个Python驱动,mysqlclient(推荐,C性能好)或者PyMySQL(纯Python实现,装起来方便)。 pip install mysqlclient,上述环境配置是已经装了。创建一个数据库miaomiaocrm。

CREATE DATABASE miaomiaocrm CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

找到Django主项目目录下的settings.py文件,里面有这样一段代码,这个数据库的配置

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.sqlite3",
        "NAME": BASE_DIR / "db.sqlite3",
    }
}

改成:

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "miaomiaocrm",
        'USER': "root",
        'PASSWORD': "was13579",
        'HOST': "localhost",
        'PORT': "3306",
    }
}

python manage.py makemigrations # 检查项目里所有app下的models.py,找出数据库还没有或者发生了改动的模型,生成一个迁移文件到对应的migrations文件夹,内容是该如何更新数据结构,注意,只是描述,不改变数据库内容 python manage.py migrate # 查找所有的迁移文件(配合makemigrations使用),按照顺序执行,保证数据库和模型同步。 (1)需要注意,如果settings没有添加相应的app则不会出发迁移,比如bills就没有触发迁移 (2)如果没有在settings中设置数据库,那么默认的就是Django创建项目时自带的db.sqlite3数据库。


← 返回