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/