Python实例题:Django搭建简易博客

发布于:2025-05-13 ⋅ 阅读:(11) ⋅ 点赞:(0)

目录

Python实例题

题目

1. 创建 Django 项目和应用

2. 配置项目

3. 设计模型

blog_app

templates

blog_app

post_list.html

admin.py

models.py

urls.py

views.py

blog_project

urls.py

代码解释

models.py:

admin.py:

urls.py(应用):

views.py:

urls.py(项目):

post_list.html:

运行项目

注意事项

Python实例题

题目

Django搭建简易博客

1. 创建 Django 项目和应用

首先,确保你已经安装了 Django。如果没有安装,可以使用以下命令进行安装:

pip install django

接着,创建一个新的 Django 项目和应用:

django-admin startproject blog_project
cd blog_project
python manage.py startapp blog_app

2. 配置项目

在 blog_project/settings.py 中,将 blog_app 添加到 INSTALLED_APPS 列表里:

INSTALLED_APPS = [
    # ...
    'blog_app',
]

3. 设计模型

在 blog_app/models.py 中定义博客文章的模型:

blog_app

templates
blog_app
post_list.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>博客文章列表</title>
</head>
<body>
    <h1>博客文章列表</h1>
    {% for post in posts %}
        <h2><a href="#">{{ post.title }}</a></h2>
        <p>{{ post.content }}</p>
        <p>发布日期: {{ post.pub_date }}</p>
    {% endfor %}
</body>
</html>
admin.py
from django.contrib import admin
from .models import Post

admin.site.register(Post)
models.py
from django.db import models
from django.utils import timezone

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    pub_date = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return self.title
urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('', views.post_list, name='post_list'),
]
views.py
from django.shortcuts import render
from .models import Post

def post_list(request):
    posts = Post.objects.order_by('-pub_date')
    return render(request, 'blog_app/post_list.html', {'posts': posts})

blog_project

urls.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog_app.urls')),
]

代码解释

  • models.py

    • 定义了 Post 模型,包含文章的标题、内容和发布日期。__str__ 方法用于在管理界面等地方显示文章的标题。
  • admin.py

    • 将 Post 模型注册到 Django 管理界面,方便在后台管理文章。
  • urls.py(应用)

    • 定义了应用的 URL 路由,将根路径映射到 post_list 视图函数。
  • views.py

    • post_list 视图函数从数据库中获取所有文章,并按发布日期降序排列,然后将文章列表传递给 post_list.html 模板进行渲染。
  • urls.py(项目)

    • 将应用的 URL 路由集成到项目中,使项目能够处理来自博客应用的请求。
  • post_list.html

    • HTML 模板用于显示文章列表,通过 Django 的模板语法遍历文章列表并显示文章的标题、内容和发布日期。

运行项目

  • 执行数据库迁移命令:
python manage.py makemigrations
python manage.py migrate
  • 创建超级用户,用于登录 Django 管理界面:
python manage.py createsuperuser
  • 启动开发服务器:
python manage.py runserver
  • 打开浏览器,访问 http://127.0.0.1:8000/ 可以看到博客文章列表。访问 http://127.0.0.1:8000/admin/ 可以登录管理界面添加、编辑和删除文章。

注意事项

  • 这只是一个简易博客的基础框架,你可以根据需求进一步扩展,如添加文章详情页、评论功能、用户认证等。
  • 在生产环境中,需要进行更多的配置,如数据库优化、静态文件处理、安全设置等。

网站公告

今日签到

点亮在社区的每一天
去签到