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

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/ 可以登录管理界面添加、编辑和删除文章。

注意事项

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

相关文章:

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&#xff1a; admin.py&#xff1a; urls.py&…...

Tcping详细使用教程

Tcping详细使用教程 下载地址 https://download.elifulkerson.com/files/tcping/0.39/在windows环境下安装tcping 在以上的下载地中找到exe可执行文件&#xff0c;其中tcping.exe适用于32位Windows系统&#xff0c;tcping64.exe适用于64位Windows操作系统。 其实tcping是个…...

PyCharm 快捷键指南

PyCharm 快捷键指南 常用编辑快捷键 代码完成&#xff1a;Ctrl Space 提供基本的代码完成选项&#xff08;类、方法、属性&#xff09;导入类&#xff1a;Ctrl Alt Space 快速导入所需类语句完成&#xff1a;Ctrl Shift Enter 自动结束代码&#xff08;如添加分号&#…...

如何更改远程桌面连接的默认端口?附外网访问内网计算机方法

远程连接端口根据协议和场景不同有所差异&#xff0c;以下是常见远程连接端口的设置及修改方法&#xff0c;同时附外网访问内网计算机操作。 一、Windows远程桌面默认端口 ‌默认端口‌&#xff1a;3389&#xff08;TCP协议&#xff09;&#xff0c;用于Windows远程桌面服务&…...

【GAN网络入门系列】一,手写字MINST图片生成

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 博主简介&#xff1a;努力学习的22级本科生一枚 &#x1f31f;​&#xff1b;探索AI算法&#xff0c;C&#xff0c;go语言的世界&#xff1b;在迷茫中寻找光芒…...

ubuntu22鼠键失灵恢复记录笔记chatgpt解决

ChatGPT 说&#xff1a; 你提到“Ubuntu 22 鼠键失灵”&#xff0c;这个问题可能涉及以下几方面&#xff1a; &#x1f9ed; 先确认问题 是鼠标问题还是键盘问题&#xff0c;还是触控板&#xff1f; “鼠键”一般理解为“鼠标键”&#xff0c;请确认你是指鼠标左键/右键失灵&a…...

智能呼入:云蝠大模型赋能政府热线

政府热线作为连接政府与民众的重要桥梁&#xff0c;提升智能化水平&#xff0c;成为政府热线亟待解决的问题。 大模型呼入 大模型呼入技术基于先进的自然语言处理和机器学习算法&#xff0c;能够实现对海量语音数据的处理和理解。通过构建大规模的语言模型&#xff0c;系统可…...

STM32 ADC+DMA+TIM触发采样实战:避坑指南与源码解析

知识点1【TRGO的介绍】 1、TRGO的概述 TRGO&#xff1a;Trigger Output&#xff08;触发输出&#xff09;&#xff0c;是定时器的一种功能。 它可以作为外设的启动信号&#xff0c;比如ADC转换&#xff0c;DAC输出&#xff0c;DMA请求等。 对于ADC来说&#xff0c;可以通过…...

(1-4)Java Object类、Final、注解、设计模式、抽象类、接口、内部类

目录 1. Object类 1.1 equals 1.2 toString&#xff08;&#xff09; 2.final关键字 3.注解 4. 设计模式 4.1 单例模式 4.1.1 饿汉式 4.1.3 饿汉式 VS 懒汉式 5. 抽象类&抽象方法 6. 接口 7.内部类 7.1 成员内部类 7.2 静态内部类 7.3 方法内部类 7.4 匿名内…...

在服务器上安装AlphaFold2遇到的问题(3)_cat: /usr/include/cudnn_version.h: 没有那个文件或目录

[rootlocalhost ~]# cat /usr/include/cudnn_version.h cat: /usr/include/cudnn_version.h: 没有那个文件或目录这个错误表明系统找不到 cudnn_version.h 头文件&#xff0c;说明 cuDNN 的开发文件&#xff08;头文件&#xff09;没有正确安装。以下是完整的解决方案&#xff…...

实验-实现向量点积-RISC-V(计算机组成原理)

目录 一、实验内容 二、实验步骤 三、源代码 四、实现效果 五、实验环境 六、实验小结与思考 一、实验内容 首先&#xff0c;我们用一个简单的“向量点积”运算作为热身。你将拿到一个不完整的汇编代码“task2-向量点积”&#xff0c;我们的目标是按照C语言描述的功能&a…...

5.16本日总结

一、英语 背诵list30&#xff0c;复习list1 二、数学 学习14讲部分内容&#xff0c;订正30讲13讲题目 三、408 学习计网5.3知识点&#xff0c;完成5.1&#xff0c;5.2题目并订正 四、总结 高数对于基本定义概念类题目掌握不好&#xff0c;做题时往往不会下手&#xff0c…...

描述性统计工具 - AxureMost 落葵网

描述性统计工具是用于汇总和分析数据&#xff0c;以更好地了解数据特征的工具1。以下是一些常见的描述性统计工具简介&#xff1a; 描述性统计工具 Excel 基本统计函数&#xff1a;提供了丰富的函数用于计算描述性统计量。例如&#xff0c;AVERAGE 函数用于计算平均值&#xf…...

【AI学习】AI大模型技术发展研究月报的生成提示词

AI大模型技术发展研究月报生成提示词 请输出AI大模型技术发展研究月报&#xff0c;要求如下&#xff1a; —————————— 任务目标 在今天&#xff08;{{today}}&#xff09;往前连续 30 天内&#xff0c;检索已正式公开发表的、与AI大模型&#xff08;参数量 ≥10B&am…...

麒麟桌面系统文件保险箱快捷访问指南:让重要文件夹一键直达桌面!

往期文章链接&#xff1a;统信操作系统自定义快捷键配置音量调节功能指南 Hello&#xff0c;大家好啊&#xff0c;今天给大家带来一篇麒麟桌面操作系统上配置文件保险箱内文件夹桌面快捷方式的文章&#xff0c;欢迎大家分享点赞&#xff0c;点个在看和关注吧&#xff01;在日常…...

LearnOpenGL --- 你好三角形

你好&#xff0c;三角形的课后练习题 文章目录 你好&#xff0c;三角形的课后练习题一、创建相同的两个三角形&#xff0c;但对它们的数据使用不同的VAO和VBO 一、创建相同的两个三角形&#xff0c;但对它们的数据使用不同的VAO和VBO #include <glad/glad.h> #include &…...

从硬件角度理解“Linux下一切皆文件“,详解用户级缓冲区

目录 前言 一、从硬件角度理解"Linux下一切皆文件" 从理解硬件是种“文件”到其他系统资源的抽象 二、缓冲区 1.缓冲区介绍 2.缓冲区的刷新策略 3.用户级缓冲区 这个用户级缓冲区在哪呢&#xff1f; 解释关于fork再加重定向“>”后数据会打印两份的原因 4.内核缓冲…...

【第76例】IPD流程实战:华为业务流程架构BPA进化的4个阶段

目录 简介 第一个阶段,业务流程架构BPA1.0 第二个阶段,业务流程架构BPA2.0 BPA3.0、4.0 作者简介 简介 不管业务是复杂还是简单,企业内外的所有事情、所有业务都最终会归于流程。 甚至是大家经常说的所谓的各种方法论,具体的落脚点还是在流程上。 比如把大象放进冰…...

游戏站的几种形式

游戏站点的主要形式&#xff1a;单品游戏站、游戏盒子站与单类型游戏盒子站 随着互联网的普及和游戏产业的快速发展&#xff0c;游戏站点作为玩家获取游戏资源和信息的重要平台&#xff0c;呈现出多种形式。本文将分析三种常见的游戏站点形式&#xff1a;单品游戏站、游戏盒子站…...

OpenCV 图像透视变换详解

在计算机视觉领域&#xff0c;图像的视角问题常常会影响后续的分析与处理。例如&#xff0c;从倾斜角度拍摄的文档、带有畸变的场景图像等&#xff0c;都需要通过特定的方法进行矫正。OpenCV 作为计算机视觉领域的重要库&#xff0c;提供了强大的图像透视变换功能&#xff0c;能…...

AI日报 - 2024年5月16日

&#x1f31f; 今日概览 (60秒速览) ▎&#x1f916; 大模型前沿 | OpenAI推出GPT-4.1及mini版&#xff0c;专为编码优化&#xff1b;Google DeepMind发布AlphaEvolve&#xff0c;Gemini驱动算法发现。 GPT-4.1提升编码效率与指令遵循&#xff0c;AlphaEvolve在矩阵乘法、数学问…...

Ubuntu 更改 Nginx 版本

将 1.25 降为 1.18 先卸载干净 # 1. 完全卸载当前Nginx sudo apt purge nginx nginx-common nginx-core# 2. 清理残留配置 sudo apt autoremove sudo rm -rf /etc/apt/sources.list.d/nginx*.list修改仓库地址 # 添加仓库&#xff08;通用稳定版仓库&#xff09; codename$(…...

Python requests GET 报错:ChunkedEncodingError

问题 在实际项目中遇到的这样一个问题&#xff1a;通过Python GET从服务器请求url列表&#xff0c;因为是公司内部数据&#xff0c;知道大概多少条数据&#xff0c;所以直接一次请求500条。平稳运行了一段时间之后&#xff0c;突然某天这个GET请求报错了… response request…...

RabbitMQ是什么?应用场景有哪些?

RabbitMQ 是一款开源的消息代理中间件,基于 AMQP(高级消息队列协议)实现,用于在分布式系统中进行异步通信和消息传递。它通过将消息的发送者和接收者解耦,提高了系统的可扩展性、可靠性和灵活性。 核心特点 多协议支持:不仅支持 AMQP,还兼容 STOMP、MQTT 等多种消息协议…...

打造智能化军工软件工厂,破解版本管理难题

在数字化浪潮席卷全球的当下&#xff0c;军工行业正经历着前所未有的软件工业化转型。作为这一进程的核心支撑&#xff0c;软件工厂模式正在重塑军工领域的研发体系。然而&#xff0c;传统版本管理方式已难以适应现代军工软件研发的复杂需求&#xff0c;成为制约行业发展的关键…...

SpringbBoot nginx代理获取用户真实IP

为了演示多级代理场景&#xff0c;我们分配了以下服务器资源&#xff1a; 10.1.9.98&#xff1a;充当客户端10.0.3.137&#xff1a;一级代理10.0.4.105&#xff1a;二级代理10.0.4.129&#xff1a;三级代理10.0.4.120&#xff1a;服务器端 各级代理配置 以下是各级代理的基本配…...

allure报告自定义logo和名称

根据pytest框架&#xff0c;做自动化测试的时候&#xff0c;选择的是allure测试报告&#xff0c;这个报告是目前所有报告中功能最强大最好用的测试报告之一 我们在使用这个测试报告的时候&#xff0c;怎么样去把allure的logo和名称替换成自己公司或者自己的logo呢&#xff1f;…...

鸿蒙OSUniApp 实现的地图定位与导航功能#三方框架 #Uniapp

UniApp 实现的地图定位与导航功能 随着移动互联网的发展&#xff0c;地图定位与导航功能已成为众多应用的标配。本文将详细介绍如何在 UniApp 框架下实现地图定位与导航功能&#xff0c;并探讨如何适配鸿蒙系统&#xff0c;助力开发者打造更加流畅的地图体验。 前言 最近在做一…...

【AI论文】对抗性后期训练快速文本到音频生成

摘要&#xff1a;文本到音频系统虽然性能不断提高&#xff0c;但在推理时速度很慢&#xff0c;因此对于许多创意应用来说&#xff0c;它们的延迟是不切实际的。 我们提出了对抗相对对比&#xff08;ARC&#xff09;后训练&#xff0c;这是第一个不基于蒸馏的扩散/流模型的对抗加…...

Android 中 显示 PDF 文件内容(AndroidPdfViewer 库)

PDFView 是一个用于在 Android 应用中显示 PDF 文档的库。它提供了丰富的功能和灵活的配置选项&#xff0c;使得开发者能够轻松地在应用中嵌入 PDF 阅读器。 一、 添加依赖 在模块的 build.gradle 文件中添加以下依赖&#xff1a; // pdfimplementation("com.github.bar…...