Django \+ MySQL 的标准 Web 项目搭建-初级练习小项目

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\-c

Linux: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

启动成功后,访问:

输入刚才创建的超级管理员账号,就能在后台增删改查数据了!


八、常见问题排查

  1. 报错:Access denied for user 'root'@' localhost'

    MySQL 密码错误,检查 settings\.py 中的 PASSWORD

  2. 报错:Can't connect to MySQL server

    检查 MySQL 服务是否启动,端口是否为 3306。

  3. mysqlclient 安装失败

    按照前面的解决方案安装依赖库。


总结

  1. 搭建流程:创建虚拟环境 → 安装 Django+mysqlclient → 创建项目 / 应用 → 配置 MySQL → 迁移数据库 → 运行项目

  2. 核心配置:settings\.py 中修改 DATABASES

  3. 核心命令:makemigrations + migrate 同步数据表

  4. 快速验证:运行服务后登录 admin 后台

按照这个教程,你已经完成了 Django + MySQL 的标准 Web 项目搭建!

相关推荐
LIUAWEIO1 小时前
Unix 时间戳换算
前端·后端·unix·database
哆啦A梦15881 小时前
11,Springboot3+vue3个人中心,修改密码
java·前端·javascript·数据库·vue3
小则又沐风a1 小时前
C++模板进阶
java·服务器·前端·c++
YJlio1 小时前
2023-09-25:ChatGPT 开始支持“看、听、说”,从纯文本正式迈向多模态交互
人工智能·python·科技·chatgpt·django·交互·pygame
不会写DN1 小时前
PyScript-GitHubRepo:构建高性能GitHub仓库批量下载工具的技术实践
开发语言·前端·python
Setsuna_F_Seiei1 小时前
AI 提效之 MCP - Agent 与执行工具的链接协议
前端·javascript·ai编程
ZC跨境爬虫2 小时前
跟着 MDN 学 HTML day_37:(深入掌握 CustomEvent 自定义事件接口)
前端·javascript·ui·html·音视频
码海扬帆:前端探索之旅9 小时前
深度定制 uni-combox:新增功能详解与实战指南
前端·vue.js·uni-app
谷雨不太卷9 小时前
进程的状态码
java·前端·算法