作为 Python 最流行的 Web 框架之一,Django 以其 "batteries-included" 的设计理念,让开发者能快速搭建功能完善的 Web 应用。本文将带大家从 0 到 1 完成一个 Django 项目的基础搭建,涵盖环境配置、数据库连接、应用开发等核心步骤,新手也能轻松上手~
第一步:准备开发环境(PyCharm + Django)
-
安装 PyCharm:
推荐使用 PyCharm ***munity Edition(免费)或 Professional(付费,功能更全),官网下载地址:PyCharm: The only Python IDE you need,按向导完成安装即可。 -
配置 Django 环境:
打开 PyCharm,创建新项目时选择 "Virtualenv" 虚拟环境(避免依赖冲突),然后通过终端安装 Django:bash
pip install django验证安装成功:
bash
django-admin --version # 输出Django版本号即成功
第二步:创建 Django 项目
在 PyCharm 终端执行以下命令,创建名为myproject的 Django 项目(项目名可自定义):
bash
django-admin startproject myproject
执行后会生成项目目录,结构如下:
plaintext
myproject/
├── manage.py # 项目管理脚本(核心工具)
└── myproject/ # 主配置目录
├── __init__.py
├── settings.py # 项目配置文件
├── urls.py # 主路由配置
├── asgi.py # ASGI部署配置
└── wsgi.py # WSGI部署配置
第三步:切换数据库(从 SQLite 到 MySQL)
Django 默认使用 SQLite 数据库(适合快速测试),但生产环境通常用 MySQL,以下是切换步骤:
-
创建 MySQL 数据库:
登录 MySQL 终端,创建项目专用数据库(例如mydb):sql
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -
安装 MySQL 驱动:
Django 连接 MySQL 需要驱动,推荐mysqlclient:bash
pip install mysqlclient -
修改 settings.py 配置:
打开myproject/settings.py,找到DATABASES配置,替换为 MySQL 信息:python
运行
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 数据库引擎 'NAME': 'mydb', # 数据库名(第二步创建的) 'USER': 'root', # MySQL用户名 'PASSWORD': '你的密码', # MySQL密码 'HOST': 'localhost', # 数据库地址(本地为localhost) 'PORT': '3306', # 端口(默认3306) } }
第四步:创建应用(App)
Django 项目由多个 "应用"(App)组成,每个 App 负责特定功能(例如用户模块、商品模块)。创建名为myapp的应用:
bash
cd myproject # 进入项目根目录(含manage.py的目录)
python manage.py startapp myapp
生成的应用目录结构:
plaintext
myapp/
├── __init__.py
├── admin.py # 后台管理配置
├── apps.py # 应用配置
├── migrations/ # 数据库迁移文件
├── models.py # 数据模型(核心)
├── tests.py # 测试文件
└── views.py # 视图函数(处理请求)
第五步:注册应用到项目
创建的应用需在项目中注册才能生效,打开myproject/settings.py,在INSTALLED_APPS列表中添加应用名:
python
运行
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
# ... 其他默认应用 ...
'myapp', # 注册我们创建的应用
]
第六步:定义数据模型(Models)
Django 的 ORM(对象关系映射)允许通过 Python 类定义数据库表结构,无需直接写 SQL。在myapp/models.py中定义模型(例如一个简单的Article文章模型):
python
运行
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=100, verbose_name="标题") # 字符串字段
content = models.TextField(verbose_name="内容") # 文本字段
create_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
def __str__(self):
return self.title # 后台显示标题
class Meta:
verbose_name = "文章"
verbose_name_plural = "文章" # 复数形式
第七步:配置 Admin 后台管理
Django 自带强大的 Admin 后台,可快速实现数据增删改查。在myapp/admin.py中注册模型:
python
运行
from django.contrib import admin
from .models import Article # 导入我们定义的模型
# 注册模型(Admin后台将显示该模型的管理入口)
admin.site.register(Article)
第八步:生成数据库表(迁移操作)
模型定义后,需通过迁移命令生成数据库表:
-
生成迁移文件(记录模型变更):
bash
python manage.py makemigrations执行后会在
myapp/migrations/目录生成迁移文件。 -
执行迁移(创建 / 更新数据库表):
bash
python manage.py migrate此时 MySQL 中的
mydb数据库会自动创建myapp_article表(Django 自动生成表名)。
第九步:创建模板文件(Templates)
模板用于存放 HTML 文件,实现页面展示。在myapp目录下创建templates文件夹,再在其中创建应用同名文件夹(避免模板冲突),最后新建 HTML 文件:
plaintext
myapp/
└── templates/
└── myapp/ # 必须与应用名一致
└── index.html # 示例模板
index.html示例内容:
html
预览
<!DOCTYPE html>
<html>
<head>
<title>我的Django页面</title>
</head>
<body>
<h1>Hello, Django!</h1>
<p>当前文章列表:</p>
<ul>
{% for article in articles %} <!-- Django模板语法:循环展示数据 -->
<li>{{ article.title }}</li>
{% endfor %}
</ul>
</body>
</html>
第十步:编写视图函数(Views)
视图函数负责处理用户请求、查询数据,并返回模板。在myapp/views.py中定义视图:
python
运行
from django.shortcuts import render
from .models import Article # 导入模型
def index(request):
# 查询所有文章数据
articles = Article.objects.all()
# 将数据传递给模板(context是字典,键为模板中使用的变量名)
return render(request, 'myapp/index.html', {'articles': articles})
第十一步:配置应用路由(App URLs)
路由用于映射 URL 到视图函数。在myapp目录下创建urls.py(应用路由文件):
python
运行
from django.urls import path
from . import views # 导入视图函数
urlpatterns = [
# 配置路由:访问"/"时执行views.index函数
path('', views.index, name='index'),
]
第十二步:主项目路由分发
主项目的urls.py需要将应用路由纳入管理,实现路由分块。修改myproject/urls.py:
python
运行
from django.contrib import admin
from django.urls import path, include # 导入include用于路由分发
urlpatterns = [
path('admin/', admin.site.urls), # Admin后台路由
path('myapp/', include('myapp.urls')), # 将"/myapp/"开头的URL交给myapp处理
]
第十三步:启动开发服务器
一切配置完成后,启动 Django 开发服务器:
bash
python manage.py runserver
终端会显示类似以下信息:
plaintext
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
此时可通过浏览器访问:
- Admin 后台:http://127.0.0.1:8000/admin/(需先创建超级用户:
python manage.py createsuperuser) - 我们的页面:http://127.0.0.1:8000/myapp/
总结
以上就是 Django 项目从环境搭建到基础运行的完整流程,核心步骤可概括为:环境准备→项目 / 应用创建→数据库配置→模型定义→视图与模板开发→路由配置→启动服务。
后续可以继续学习 Django 的表单处理、用户认证、静态文件管理等进阶内容,逐步完善应用功能。如果操作中遇到问题,欢迎在评论区交流~