Django + MySQL 完整 Web 项目搭建教程
Django + MySQL 搭建 Web 项目完整教程
这是从零开始的完整搭建流程,包含环境配置、项目创建、数据库连接、迁移和运行,新手也能直接跟着做。
一、准备工作
1. 安装必要软件
确保你电脑已安装:
-
Python 3.8+(推荐 3.9~3.11)
-
MySQL 5.7 / 8.0(本地或远程数据库)
-
一个代码编辑器(VS Code / PyCharm)
2. 创建虚拟环境(推荐)
打开终端 / 命令提示符,执行:
bash
# 创建项目文件夹
mkdir django_mysql_project
cd django_mysql_project
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# Windows
venv\Scripts\activate
# Mac/Linux
source venv/bin/activate
激活后,命令行前面会出现 \(venv\) 标识。
3. 安装依赖
bash
# 安装Django
pip install django
# 安装MySQL驱动(必须!连接MySQL核心依赖)
pip install mysqlclient
如果安装
mysqlclient失败:Windows:先安装 Visual C++ Build Tools
Mac:
brew install mysql\-connector\-cLinux:
sudo apt\-get install python3\-dev default\-libmysqlclient\-dev
二、创建 Django 项目和应用
1. 创建 Django 项目
bash
django-admin startproject myproject .
\. 代表在当前目录创建,避免嵌套文件夹。
2. 创建应用(Django 必须有应用才能写功能)
bash
python manage.py startapp myapp
项目结构:
Plain
django_mysql_project/
├── myproject/ # 项目配置目录
├── myapp/ # 功能应用
├── manage.py # 命令工具
└── venv/
三、配置 MySQL 数据库(核心步骤)
1. 提前创建 MySQL 数据库
打开 MySQL 客户端(Navicat / 命令行),执行:
sql
CREATE DATABASE mydb DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
库名:mydb(后面配置会用到)
2. 修改项目配置文件 myproject/settings\.py
① 注册应用
找到 INSTALLED\_APPS,添加你的应用:
python
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', # 新增这一行
]
② 修改数据库配置
找到 DATABASES,替换成以下配置:
python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'NAME': 'mydb', # 你刚才创建的数据库名
'USER': 'root', # MySQL用户名(默认root)
'PASSWORD': '123456', # 你的MySQL密码
'HOST': 'localhost', # 本地数据库
'PORT': '3306', # MySQL默认端口
'CHARSET': 'utf8mb4', # 编码
}
}
⚠️ 务必修改为你自己的 MySQL 密码!
四、编写模型(数据表)
打开 myapp/models\.py,创建一个测试表:
python
from django.db import models
# 创建用户表(示例)
class User(models.Model):
# 字段:用户名,字符串,唯一
username = models.CharField(max_length=20, unique=True, verbose_name="用户名")
# 字段:年龄,数字
age = models.IntegerField(default=0, verbose_name="年龄")
# 字段:创建时间,自动添加
create_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
def __str__(self):
return self.username
class Meta:
verbose_name = "用户"
verbose_name_plural = "用户"
五、数据库迁移(生成数据表)
执行两条命令,Django 会自动在 MySQL 中创建表:
bash
# 生成迁移文件
python manage.py makemigrations
# 执行迁移,同步到MySQL
python manage.py migrate
执行成功后,打开 MySQL 就能看到自动创建的所有表。
六、创建超级管理员(访问后台)
bash
python manage.py createsuperuser
按提示输入:用户名、邮箱、密码(密码输入不显示,正常输入即可)。
注册模型到后台
打开 myapp/admin\.py:
python
from django.contrib import admin
from .models import User
# 把User模型注册到后台
admin.site.register(User)
七、运行项目
bash
python manage.py runserver
启动成功后,访问:
-
Django 管理后台:http://127.0.0.1:8000/admin/
输入刚才创建的超级管理员账号,就能在后台增删改查数据了!
八、常见问题排查
-
报错:Access denied for user 'root'@' localhost'
MySQL 密码错误,检查
settings\.py中的PASSWORD。 -
报错:Can't connect to MySQL server
检查 MySQL 服务是否启动,端口是否为 3306。
-
mysqlclient 安装失败
按照前面的解决方案安装依赖库。
总结
-
搭建流程:创建虚拟环境 → 安装 Django+mysqlclient → 创建项目 / 应用 → 配置 MySQL → 迁移数据库 → 运行项目
-
核心配置:
settings\.py中修改DATABASES -
核心命令:
makemigrations+migrate同步数据表 -
快速验证:运行服务后登录 admin 后台
按照这个教程,你已经完成了 Django + MySQL 的标准 Web 项目搭建!