当前位置: 首页 > news >正文

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

目录

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 Postadmin.site.register(Post)
models.py
from django.db import models
from django.utils import timezoneclass 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 viewsurlpatterns = [path('', views.post_list, name='post_list'),
]
views.py
from django.shortcuts import render
from .models import Postdef 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, includeurlpatterns = [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/ 可以登录管理界面添加、编辑和删除文章。

注意事项

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

相关文章:

  • 力扣HOT100之二叉树:226. 翻转二叉树
  • arduinoIDE核心库更新导致的ESP32开发板神秘接口更换和三方库冲突
  • JVM——方法内联
  • zuoyyyeee
  • hdfs-客户端操作-文件上传
  • Java中String字符串
  • STM32实现循环队列
  • AutoDL租用服务器教程
  • uniapp引入七鱼客服微信小程序SDK
  • cache state
  • 自动化测试与功能测试详解
  • 杨校老师项目之基于SSM与JSP的鲜花销售系统-【成品设计含文档】
  • 趣谈Ai各种模型算法及应用
  • 大模型剪枝技术介绍
  • 深度策略梯度算法PPO
  • 基于STM32、HAL库的BMP581气压传感器 驱动程序设计
  • git如何将本地 dev 分支与远程 dev 分支同步
  • Excel表的导入与导出
  • 浙江大学 deepseek 公开课 第三季 第3期 - 陈喜群 教授 (附PPT下载) by 突破信息差
  • 【C++】cout的格式输出
  • 从这些电影与影像,看到包容开放的上海
  • 80后莆田市文旅局长马骏登台与杨宗纬合唱,“演唱会秒变旅游推介会”
  • 4月国产新能源,降价潮迈入拐点
  • 重庆一高校75万采购市价299元产品?工作人员:正在处理
  • 马上评丨全民定制公交,打开城市出行想象空间
  • 夜读丨喜马拉雅山的背夫