30分钟!用Django做一个迷你的Todolist!下篇!

构建可持续的编程项目创意生成系统 编程项目创意不是灵光一现的点子,而是对真实问题建模与验证的能力。其核心在于从模糊需求走向约束明确的问题定义,通过识别生活中的‘烦躁时刻’‘隐形劳动’和‘工具断层’,将日常痛点转化为可编程解决的最小可行问题。结合5 Why分析、技术栈倒推、竞品缺口挖掘与数据荒漠勘探等方法,开发者能系统性孵化出高价值、易验证、可落地的项目。这种以问题驱动、MVP先行、用户反馈闭环的创意生成方式,正成为程序员提升工程思维、打造差异化作品集与突破职业瓶颈的关键路径。 阅读详情
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!

大家好,我是菜鸟哥!

前几天打算做了一个todolist小应用,我写了一个上篇,算是完成了整个web的一小部分(30分钟!用Django做一个迷你的Todolist!上篇!),刚刚把框架搭起来。今天我们要完成剩下的主要的功能,要完成页面的设计和css的样式,我们一起来看一下。

1.主页的设计

我们看一下我们的主页最终的效果,我们是要做成这样的,整个页面有3部分组成:

  • 主页面标题

  • form表单

  • 一个task列表

1).增加一个forms.py

我们需要增加一个forms文件,来设计我们的表单的内容,在tasks文件夹里面增加这个forms文件。

django里面自带了很多很多现成的轮子,比如form组件,我们直接引用然后继承即可。这里我们就一个属性title ,然后模型就用我们前面设计的modle里面的task即可。

2).在views里面增加todolist内容

在上篇里面我们只是让views显示hello world 。现在我们要让它显示整个表单和tasks里面的内容。

这里我们从Task模型里面读取所有的tasks(我们已经admin后台插入了几条任务数据了)。然后把tasks和form都传到我们的tasks/index.html里面进行渲染。

3).编写index.html

我们需要在tasks文件夹下增加一个templates/tasks,然后在下面新建一个index.html。这里html我们简单的写一下整个页面的布局。

整个页面分3部分:页面的标题,页面的form表单,循环读取tasks的内容。

完成上面的编写之后,我们看一下效果,启动python3 manager.py runserver

4).修改后台admin数据表单

为了显示的效果,我们在后天的admin里面打开我们已经写入的2条数据,我们把其中的一条数据complete属性改为已经完成。

5).修改html内容

增加update和delele这两个a标签,为我们下一步设计更新和删除页面做准备。

我们把表单和tasks的内容分别用div进行包裹进去。然后在tasks里面增加了update和delele 跳转,并且对我们的task的属性是否完成进行判断,如果完成了,那我就加一条下划线。然后我们看一下效果:

2.Update页面设计

我们也类似前面主页的设计,需要给update页面增加路由url,视图views和template/tasks/update.html。

1).增加update的路由

因为update是我们在点击主页的一个task之后,进行跳转的,所以会带一个update/id进来,这样我们才知道用户点击的是哪一个task。

2).增加update的响应

当用户点击update之后,会进行跳转到我们的update更新页面。所以我们在路由添加好了之后,需要增加views部分的处理。

然后我们刷新我们的网站,输入http://127.0.0.1:8000/update/1 之后就会看到我们的task的内容

好,说明update的路由已经通了,我们继续修改views里面的update函数。让它渲染html的内容。

3).新增update.html文件

上面只是把update的路由和视图全部打通了,下面我们增加真正的update页面的html内容。

其实就是把我们点击的task转为form表单的数据显示,然后我们进行修改之后就可以提交了。我们输入127.0.0.1:8000/update/1 看一下

确实获取了task的信息。然后当我们更新了task的信息之后,点击提交就相当于用post的方法把form表单里面的信息提交到了views视图里面的update函数去处理,所以我们下面要更新update函数。

4).修改视图里面的update函数

我们要增加update函数里面的表单提交相应的功能。当用户在页面点击“提交”之后就会把表单数据提交过来,我们判断request是否POST,如果是的话进行出来,然后把修改好的form直接save,然后重定向到主页。

然后我们在主页的udpate里面增加了update跳转链接。

这样的话,我们的更新页面就完成了。大家可以重启一下服务测试一下,我们进入我们的主页。

点击update 进行修改,然后我们就会跳转到update页面

选择complete打一个勾,然后点击提交按钮就会重新回到主页,并且显示第二天的task已经完成了,如下图所示:

好到了,这里我们的更新页面也完成了。但是整个页面非常丑,我们需要增加一些css样式,下面就来美化页面。

3.美化页面

前面房子都已经盖好了,下面就要开始刷油漆贴墙纸进行美化了,这里我们用简单的bootstrap3.4的来美化一下。

1).新建task.css

task.css里面设计一些我们的css样式。比如一些input标签,a标签,button按钮的样式,还有页面的布局。

2).在主页index.html里面应用css样式

在index.html的开头引入bootstrap3的组件,然后调用我们的task.css文件。注意这个文件一定是要在tasks/static/tasks/xxx.css 这样才能引用到。

update页面也是一样的修改。

然后我们看一下效果:

然后随意点击一个item 跳转进入update页面

4.总结:

限于篇幅,我们只完成了主页和更新页面的设计,详情页和删除页面也是很类似的。其实整个的todolist主要就是覆盖了增删改查的功能,很多大的项目其实也类似,只是逻辑和内容更复杂一点而已。希望小伙伴自己动手去做一下,相信会收获很多,毕竟编程还是实战性非常强的,一定一定要动手去敲一边。

如果需要源码的同学,也可以在后台输入:django,获取完整的源码。

推荐阅读:入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|年度爆款文案1).卧槽!Pdf转Word用Python轻松搞定!2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密 4).80行代码!用Python做一个哆来A梦分身 5).你必须掌握的20个python代码,短小精悍,用处无穷 6).30个Python奇淫技巧集 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货 8).再见Python!我要学Go了!2500字深度分析!9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片点阅读原文,领AI全套资料
Qwen3.6-Plus编程模型实战指南:从代码生成到生产级Agent部署 大语言模型在编程领域的应用已从简单补全进阶为工程化智能体协作。Qwen3.6-Plus作为国产新一代编程大模型,其核心价值在于将代码理解、上下文建模与工具调用深度耦合,支撑真实开发闭环——从API文档解析、SDK自动生成,到跨框架错误诊断与状态机式任务编排。它依托100万token长上下文实现多源异构信息(代码/文档/日志)的语义关联推理,并通过分层缓存机制保障关键逻辑不丢失;结合Vibe Coding、SWE-bench级修复能力与openclaw本地Agent运行时,真正适配前端工程化、后端架构演进及D 阅读详情

相关推荐

django-todolist:django示例应用程序-待办事项列表Web应用程序

Django-Todolist Django-Todolist是一个待办事项Web应用程序,具有大多数Web应用程序的最基本功能,即帐户/登录,API和(某种程度上)交互式UI。 CSS | JS | 我还在Flask中构建了一个非常类似的应用程序: : 探索 通过安装要求进行尝试。 (由于django 2,仅适用于python> = 3.4的Python) pip install -r requirements.txt 迁移: python manage.py migrate 然后启动服务器(默认: ) python manage.py runserver 现在,您可以浏览

用python实现todolist_Django练习——TodoList

Django 紧紧地遵循这样的 MVC 模式,能够称得上是一种 MVC 框架。 以下是 Django 中 M、V 和 C 各自的含义:M,数据存取部分,由django数据库层处理。V,选择显示哪些数据要显示以及怎样显示的部分,由视图和模板处理。C。依据用户输入委派视图的部分,由 Django 框架依据 URLconf 设置,对给定 URL 调用适当的Python 函数。因为 C 由框架自行处理,而...

weixin_39780784的博客 602

Django Todo List

Django Todo List

django之todolist(二)

实现了下,没动前端的东西。实现功能的顺序:view, finish, back, delete, add, update. 逻辑比较简单,正则表达式的部分还有待熟悉。做的过程中写完view小激动就忘记配置url了。前端可以先注释掉还没有实现的功能,然后再一一补上就可以了。 项目下的urls.py: from django.conf.urls import include, url from d

ass673556617的专栏 931

toDoList示例

简单的示例,存储,列表显示,页面切换,特别适合入门学习

django-todolist:任务管理系统,包含绩效评分功能

#任务管理系统

Python+Django+SQLite 制作TO-DO list(四、视图逻辑部分views)

这个部分按照我个人的理解,就是用户通过浏览你的网页看到的内容。通过views中的一系列指令从数据库中获取所需的数据,并通过template的渲染,最终到达用户的设备中。当让用户与你数据库的通信也是通过这部分完成,比如保存用户名、用户信息等。这一部分也是Django中比较重要的一部分,因为用户可以通过这个部分来与你的数据库进行比较直接的交互。下面对代码进行分析views.py1、导入相关包from ...

Just Do It 1006

django_todo

欢迎Damien Meere, 这是Gitpod的代码学院学生模板。 我们已经预装了您入门所需的所有工具。 您可以安全地删除此README.md文件,或为您自己的项目进行更改。 Gitpod提醒 要在Gitpod中运行前端(仅HTML,CSS,Javascript)应用程序,请在终端中输入: python3 -m http.server 应该出现一个蓝色按钮,以单击:公开, 应该出现另一个蓝色按钮,以单击:打开浏览器。 要运行后端Python文件,请输入python3 app.py ,当然,如果您的Python文件名为app.py 应该出现一个蓝色按钮,以单击:公开, 应该出现另一个蓝色按钮,以单击:打开浏览器。 在Gitpod中,默认情况下,您具有超级用户安全权限。 因此,在任何后端课程中,您都不需要在bash终端中使用sudo (超级用户执行)命令。 自教学视频以来的更

实战篇 TodoList (Django 后端)

title = models.CharField(max_length=32, verbose_name='任务标题')completed = models.IntegerField(default=0, verbose_name='是否完成 1完成 0未完成')is_delete = models.IntegerField(default=0, verbose_name='删除标志位 1删除 0未删除')

m0_56825253的博客 588

嵌入式下载故障排查:ST-LINK与GD32 Programmer典型问题解决

嵌入式固件烧录是MCU开发的关键环节,其本质依赖于调试器(如ST-LINK、GD-Link)与目标芯片间的协议通信、驱动加载及硬件接口协同。原理上,SWD/JTAG协议需在正确时序、电平与供电条件下完成设备枚举、ID读取与Flash编程;技术价值在于保障量产烧录稳定性与调试可重复性;典型应用场景涵盖STM32/GD32教学开发、工业控制板量产调试及Windows 11新系统适配。本文聚焦ST-LINK-V2在Keil MDK中的下载失败和GD32 All In One Programmer的DLL加载异常两

weixin_35006125的博客 154

写给音响工程师的科普文章(二)——从模电角度去了解调音台话放

    上一篇讲到调音台第一级放大电路为差分放大器,关于差分放大器的基础知识可以参考以下资料:https://wenku.baidu.com/view/e6a46aaa2af90242a995e537 在教材中的差分放大器基本形式是这样子的,在实际电路中把RE电阻换成两个2倍RE,于是变成这样 然后我们现在来对比调音台中的差分放大器和教材中的有什么区别,我就拿yamaha 01V 96来说...

huanghaoAudio的博客 7707

每天40分玩转Django:实操 Todo List应用

学习要点回顾:Django模型设计和实现CRUD视图的完整实现表单处理和验证模板系统的使用用户认证和权限控制怎么样今天的内容还满意吗?

weixin_40780178的博客 1471

BIOS更新后PIN不可用怎么办?从原理到实操的完整修复指南

在计算机维护中,BIOS更新是常见的固件升级操作,但其引发的登录异常却常让用户措手不及。Windows Hello PIN并非传统密码,它通过TPM芯片与设备启动环境(PCR状态)强绑定,一旦主板固件或安全启动配置改变,TPM便会拒绝释放密钥,导致“由于此设备上的更改,你的PIN不再可用”。理解这一原理后,恢复路径清晰可控:优先尝试密码登录,或通过WinRE替换utilman.exe创建临时管理员,必要时还需处理BitLocker恢复密钥。本文面向系统维护与数据安全场景,系统梳理PIN失效的恢复流程与避坑方

weixin_31364787的博客 382

30分钟!用Django做一个迷你的Todolist!上篇!

“菜鸟学Python”,第“515”篇原创Python语法简单,功能强大,深受很多同学的喜爱。菜鸟哥以前给大家分享了很多趣味的案例,有基础的语法,趣味的神器库,爬虫,数据分析等等。今天跟大...

cainiao_python的博客 830

Windows11安装Ubuntu 20.04.3 LTS双系统(详细过程)

一、基础环境 听说BIOS模式的传统MBR模式和新式UEFI模式,会对安装双系统产生影响。Windows11应该都是UEFI吧,可以按win+r输入msinfo32回车确认查看BIOS模式,我的电脑是UEFI+双硬盘 Ubuntu安装准备 1、 官网下载Ubuntu 20.04.3 LTS镜像iso文件:https://ubuntu.com/download/desktop 2、 下载官网推荐的U盘启动制作工具rufus: https://rufus.ie/ 3、制作启动u盘 插入U盘, 运行 rufu

学习随笔 9万+

保姆级教程:用Protege 5.5.0从零构建你的第一个知识图谱(附实战案例文件)

本文提供了一份详细的Protege 5.5.0使用指南,从零开始构建知识图谱。通过'中国古代文人关系网'实战案例,涵盖软件安装、本体创建、属性定义、实例填充到高级功能应用的全流程,帮助初学者快速掌握知识建模的核心技能。

weixin_26808205的博客 234

Vorssaint:免费开源的 macOS 菜单栏工具,窗口切换、文件搁架与系统监控装进一个图标

Vorssaint 是一款免费开源的 macOS 菜单栏工具:一个图标收拢窗口切换、文件搁架、系统监控等几十个日常小工具。GPL 3.0 协议,无账号、无遥测,所有数据留在本地,功能按需安装、随时卸载。 ## Vorssaint 安装步骤与首次启动指南 前提条件一句话:需要 Apple Silicon 芯片的 Mac,macOS 14(Sonoma)或更新版本。用 Homebrew 装好它:

gitblog_00558的博客 1061

浅谈Android MVI架构---大自然的搬运工~~~

浅谈 Android MVI架构

hong_world的博客 2158

30天Python编程挑战:从零到实战的每日一练

想要系统学习Python编程但不知从何开始?《Show Me The Code》为你提供了一套完整的Python编程练习体系,通过30个精心设计的实战题目,带你从基础到进阶,每天一个小程序,逐步掌握Python编程的核心技能。 ## 🚀 快速开始你的Python学习之旅 ### 获取项目代码 要开始你的Python编程练习,首先需要获取项目资源: ```bash git clone ht

gitblog_00653的博客 243

从SOMEIP看SOA,汽车电子电器架构的转变

从SOMEIP看SOA,汽车电子电器架构的转变

天赐好车的博客 243

Matlab:Matlab 软件学习之Matlab内置的各种系统的简介、案例应用(基于Simulink模糊控制仿真/二阶瞬态震荡电路案例)之详细攻略

选择左上角要编辑变量的图标,给定当前变量的论域Range,设置隶属函数类型type(八种隶属函数类型以供选择),最后选中某个隶属度函数(选中为红色),移动绘图区的每个隶属度函数的三个端点(竖向为权重)。(1)、首先在模糊规则编辑器左边选择一个输入变量,并选中它的一个语言值(隶属函数),然后编辑器右边选择一个输出变量,并选中它的一个语言值(隶属函数),然后将这种关系添加到模糊规则中。制定完成后,会形成模糊规则矩阵,系统会根据模糊输入量(如r1、r2),经过模糊规则(如45条),进而确定输出量(Y1、Y2)。

走向CTO之路 1123

Python编程实战:Show Me The Code项目完全指南

你是否曾经在学习Python时感到迷茫,不知道如何将理论知识转化为实际编程能力?或者你已经掌握了Python基础语法,却苦于找不到合适的项目来巩固所学?今天我要向你介绍一个能够解决这些问题的宝藏项目——Show Me The Code。这个Python练习册项目通过"每天一个小程序"的方式,帮助你系统性地提升编程技能,从零开始构建实用的Python应用。 ## 项目亮点展示 **✨ 实战导向的

gitblog_01058的博客 892

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

从“文档懂王”到“工程落地”:我用LangChain造了一个会写代码的Agent

这篇文章摘要了作者在使用LangChain、LangGraph和Deep Agents开发编码助手项目时的经验教训与解决方案: 理想与现实的落差:作者发现官方文档的示例与真实项目存在巨大差距,200万字学习笔记在实际开发中失效,遭遇了token消耗失控、路径解析错误和死循环等问题。 框架关系解析:文章拆解了langchain-core(接口标准)、langgraph(运行时引擎)、langchain(应用框架)和deepagents(工具链)之间的层级依赖关系,指出这是从抽象到具体的实现链条。 开发环境搭建

General_zy的博客 618

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

软件开发自学路线图:从零基础到求职的系统规划与实践指南

软件开发是一个系统工程,其核心在于将问题转化为计算机可执行的逻辑指令。这一过程依赖于扎实的计算机基础,包括编程语言、数据结构、算法以及操作系统原理。掌握这些基础后,开发者能够构建高效、可靠的软件系统,其技术价值体现在提升开发效率、保障软件质量与可维护性。在实际应用中,无论是构建用户交互界面前端开发,还是实现硬件控制的嵌入式软件开发,都需要遵循明确的学习路径与工程实践方法。本文聚焦于如何规划一条高效的软件开发自学路线,特别针对前端开发学习路线和嵌入式软件开发学习路线这两个热门方向,提供从基础概念到项目实战的完

weixin_30240349的博客 399

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

软件测试自学路线图:7大网站助你从入门到精通

软件测试是保障软件质量的关键环节,其核心在于通过系统化的方法验证软件功能、性能与安全性。从测试理论到自动化实践,测试工程师需要构建完整的知识体系与实战能力。掌握主流测试框架如Selenium、Pytest,并理解持续集成、测试开发等工程实践,能显著提升测试效率与软件交付质量。对于自学者而言,高效的学习路径与优质资源至关重要。本文聚焦软件测试自学,推荐覆盖知识构建、实战演练、社区交流及求职准备的核心平台,其中TesterHome作为中文测试领域活跃社区,提供了大量行业实践与招聘信息;Github则汇聚了丰富的

weixin_30924087的博客 326

Django练习——TodoList

TodoList是django入门一个比较基础的例程,主要参考如下博客,写的非常好: simple-todo: http://www.cnblogs.com/cacique/archive/2012/10/06/2713415.html        本文在pycharm环境下重新对上面代码进行了实现,并且作为初学者从这个实例代码出发,具体分析并且熟悉django的相关机制。实验p

古月居 1万+
上一篇: 推荐9个鲜为人知的Python第三方库
下一篇: 20行Python代码,轻松提取PPT文字到Word!
菜鸟学Python
博客等级 码龄9年 8082粉丝 571原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值