返回

Django 初体验:亲自动手,搭建属于你的第一个博客系统

闲谈

Django是Python界中用来构建网站的知名框架。本指南将带领你从头开始,快速搭建一个初学者的博客。

1. 准备工作

  • 安装 Python
  • 安装 Django

2. 创建项目

  • 创建项目目录
mkdir django-blog
cd django-blog
  • 创建项目文件
django-admin startproject myblog

3. 设置中文及时区

  • 打开根目录的 settings.py 文件
  • 修改以下两行配置
LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

4. 创建 App

  • 创建 App
cd myblog
python manage.py startapp blog
  • 修改 settings.py 文件,加入App
INSTALLED_APPS = [
    'blog',  # 新增的 App
]

5. 创建模型

  • blog App 目录下创建 models.py 文件
from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    body = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

6. 创建迁移文件并执行迁移

python manage.py makemigrations
python manage.py migrate

7. 创建视图函数

  • blog App 目录下创建 views.py 文件
from django.shortcuts import render
from .models import Post

def blog_list(request):
    posts = Post.objects.all()
    context = {'posts': posts}
    return render(request, 'blog/blog_list.html', context)

def blog_detail(request, post_id):
    post = Post.objects.get(pk=post_id)
    context = {'post': post}
    return render(request, 'blog/blog_detail.html', context)

8. 创建 URL 配置文件

  • blog App 目录下创建 urls.py 文件
from django.urls import path
from . import views

urlpatterns = [
    path('blog/', views.blog_list, name='blog_list'),
    path('blog/<int:post_id>/', views.blog_detail, name='blog_detail'),
]

9. 创建模板文件

  • blog App 目录下创建 templates 目录,并在其中创建 blog_list.htmlblog_detail.html 文件

  • blog_list.html

{% extends 'base.html' %}

{% block content %}
    <h1>博文列表</h1>
    {% for post in posts %}
        <div class="post">
            <h2><a href="{% url 'blog_detail' post.id %}">{{ post.title }}</a></h2>
            <p>{{ post.body|truncatewords:30 }}</p>
        </div>
    {% endfor %}
{% endblock %}
  • blog_detail.html
{% extends 'base.html' %}

{% block content %}
    <h1>博文详情</h1>
    <p>{{ post.title }}</p>
    <p>{{ post.body }}</p>
{% endblock %}

10. 运行服务器

python manage.py runserver

你的博客系统已经搭建完成,现在你可以访问 http://127.0.0.1:8000/blog/ 来查看你的博客了。

结语

以上就是如何使用 Django 创建一个博客系统的详细步骤,希望对你有所帮助。如果你有任何疑问,欢迎在评论区留言。