Django 入门到实战:手把手带你搭建一个博客系统
2025年10月23日 22:21
一、前言
如果你学过 Python,可能听说过 Django —— 一个被称为 “Web 开发瑞士军刀” 的框架。
Django 提供了从数据库 ORM 到模板引擎、后台管理的一整套解决方案,让开发者能在极短时间内搭建出功能完整的网站。
今天这篇文章,我们就带你从 0 到 1 完成一个简单的 博客系统。
你将学到:
• 如何创建 Django 项目与应用
• 如何设计数据库模型
• 如何编写视图与模板
• 如何用 Django 的后台管理文章
二、准备工作
1. 安装 Django
打开终端(或命令提示符),执行以下命令:
pip install django |
验证是否安装成功,执行以下命令:
django-admin --version |
2. 创建项目
执行以下命令创建项目并进入项目目录:
django-admin startproject myblog cd myblog |
Django 会自动创建如下目录结构(可在 Word 中用 “项目符号” 排版,更清晰):
• myblog/
◦ manage.py # 项目管理工具
◦ myblog/
▪ settings.py # 项目配置
▪ urls.py # URL 路由
▪ wsgi.py # 部署相关
三、创建博客应用
在项目中创建新的应用模块,执行以下命令:
python manage.py startapp blog |
打开 myblog/settings.py 文件,在 INSTALLED_APPS 列表中注册应用(添加 'blog',):
INSTALLED_APPS = [ ..., # 保留原有内容 'blog', # 新增这行,注册博客应用 ] |
四、定义模型(Models)
打开 blog/models.py 文件,定义文章模型,复制以下代码:
from django.db import models class Post(models.Model): title = models.CharField(max_length=200, verbose_name="标题") content = models.TextField(verbose_name="内容") author = models.CharField(max_length=50, verbose_name="作者") created_at = models.DateTimeField(auto_now_add=True, verbose_name="发布时间") def __str__(self): return self.title |
执行以下命令,创建数据库表(迁移操作):
python manage.py makemigrations python manage.py migrate |
五、注册后台管理(Admin)
Django 自带后台管理系统,打开 blog/admin.py 文件,添加以下代码即可管理文章:
# blog/admin.py from django.contrib import admin from .models import Post admin.site.register(Post) |
创建后台管理员账号,执行以下命令并按提示输入用户名、邮箱、密码(密码输入时不显示,正常输入即可):
python manage.py createsuperuser |
启动服务,执行以下命令:
python manage.py runserver |
打开浏览器,访问 http://127.0.0.1:8000/admin/,登录后即可在后台创建、编辑文章。
六、编写视图(Views)
打开 blog/views.py 文件,添加文章列表视图代码:
from django.shortcuts import render from .models import Post def post_list(request): posts = Post.objects.all().order_by('-created_at') return render(request, 'blog/post_list.html', {'posts': posts}) |
七、配置 URL 路由
1. 在 blog 文件夹中新建 urls.py 文件,写入以下代码:
from django.urls import path from . import views urlpatterns = [ path('', views.post_list, name='post_list'), ] |
1. 修改项目主目录的 myblog/urls.py 文件,添加 include('blog.urls'):
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('blog.urls')), # 新增这行,关联博客应用的URL ] |
八、编写模板(Templates)
1. 按以下路径创建文件夹和文件:blog/templates/blog/post_list.html(需手动创建三级目录)。
2. 打开 post_list.html 文件,写入以下 HTML 代码:
)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>我的博客</title> <style> body { font-family: sans-serif; margin: 30px; } h1 { color: #333; } article { border-bottom: 1px solid #ccc; margin-bottom: 20px; padding-bottom: 10px; } </style> </head> <body> <h1>文章列表</h1> {% for post in posts %} <article> <h2>{{ post.title }}</h2> <p>{{ post.content|truncatewords:30 }}</p> <small>作者:{{ post.author }} | {{ post.created_at|date:"Y-m-d H:i" }}</small> </article> {% empty %} <p>暂无文章。</p> {% endfor %} </body> </html> |
刷新浏览器(http://127.0.0.1:8000/),即可看到后台发布的所有文章。
九、项目运行效果
访问以下地址,即可看到博客首页,展示后台发布的所有文章:
http://127.0.0.1:8000/
�� 恭喜你完成了第一个 Django 博客系统!
十、拓展功能推荐
(在 Word 中用 “表格” 排版,更清晰,建议设置表格边框为 “细实线”)
功能 | 推荐方式 |
评论系统 | 新建 Comment 模型 |
富文本编辑器 | 安装 django-ckeditor |
用户注册 / 登录 | 使用 Django 自带 auth 模块 |
REST API | 使用 Django REST Framework |
部署上线 | 部署到 Vercel / Render / 阿里云 / 腾讯云 |
十一、总结
通过本教程,你完成了一个小型 Django 项目的完整开发流程:
Model(模型) → View(视图) → Template(模板)
这也是 Django 核心的 MTV 架构模式。
Django 的强大在于,它不仅能让你快速开发,还能保持良好的结构和安全性。无论是做公司内部系统、博客网站,还是 API 服务,它都是非常值得掌握的框架。
十二、推荐学习资料
• 官方文档:https://docs.djangoproject.com/zh-hans/stable/
• 《Django 3 By Example》
• Django REST Framework 文档:https://www.django-rest-framework.org/