Python Django教程之实现待办事项应用程序

不晚
不晚
发布时间:2026-10-12| 3人浏览过
原创

本教程详细介绍如何使用Python Django框架快速构建一个待办事项Web应用。内容涵盖Django环境配置、项目与应用的创建、数据库模型定义、视图逻辑处理、表单生成及管理员后台注册。通过具体代码示例,指导开发者完成从项目初始化到功能实现的完整流程,适合希望掌握Django基础开发的初学者参考。

Django是一个基于Python的高级Web框架,旨在支持快速开发和保持代码设计的简洁性与实用性。本文将通过构建一个待办事项应用程序,帮助读者掌握Django的核心基础知识。该Web应用允许用户创建和管理笔记,功能类似于Google Keep或印象笔记。

所需模块:

Django:安装Django

crispy_forms:

pip install --upgrade django-crispy-forms

基本设置:通过以下命令启动项目:

django-admin startproject todo-site

将目录更改为待办事项站点:

cd todo-site

启动服务器:在终端中键入以下命令以启动服务器:

python manage.py runserver

要验证服务器是否正常运行,请在Web浏览器中输入 http://127.0.0.1:8000/ 作为URL进行访问。

现在,通过按

ctrl-c

接下来,让我们创建一个应用。

python manage.py startapp todo

进入 todo/ 文件夹,执行命令:cd todo,并创建一个包含 index.html 文件的目录:templates/todo/index.html,使用文本编辑器进行编辑。

打开项目文件夹后,目录结构应如下所示:

现在,在 todo_site/settings.py 中添加待办事项应用和 crispy_forms。

在 todo_site 中编辑 urls.py 文件:

from django.contrib import admin
from django.urls import path
from todo import views

urlpatterns = [
	#####################home_page###########################################
	path('', views.index, name="todo"),
	####################give id no. item_id name or item_id=i.id ############
	# 传递item_id作为主键,以删除具有给定id的待办事项
	path('del/<str:item_id>', views.remove, name="del"),
	########################################################################
	path('admin/', admin.site.urls),
]

在待办事项应用中编辑 models.py:

from django.db import models
from django.utils import timezone

class Todo(models.Model):
	title=models.CharField(max_length=100)
	details=models.TextField()
	date=models.DateTimeField(default=timezone.now)

	def __str__(self):
		return self.title

在待办事项应用中编辑 views.py:

from django.shortcuts import render, redirect
from django.contrib import messages

## 导入待办事项表单和模型

from .forms import TodoForm
from .models import Todo

###############################################

def index(request):

	item_list = Todo.objects.order_by("-date")
	if request.method == "POST":
		form = TodoForm(request.POST)
		if form.is_valid():
			form.save()
			return redirect('todo')
	form = TodoForm()

	page = {
			"forms" : form,
			"list" : item_list,
			"title" : "TODO LIST",
		}
	return render(request, 'todo/index.html', page)



### 函数来删除项目,它从url接收待办事项item_id作为主键 ##
def remove(request, item_id):
	item = Todo.objects.get(id=item_id)
	item.delete()
	messages.info(request, "item removed !!!")
	return redirect('todo')

现在在待办事项应用中创建一个 forms.py:

from django import forms
from .models import Todo

class TodoForm(forms.ModelForm):
	class Meta:
		model = Todo
		fields="__all__"

将模型注册到管理员后台:

导航至 templates/todo/index.html 并对其进行编辑:链接到 index.html 文件。进行迁移并执行迁移操作。

python manage.py makemigrations
python manage.py migrate

现在,您可以运行服务器以查看您的待办事项应用程序。

python manage.py runserver

以上就是Python Django教程之实现待办事项应用程序的详细内容,更多关于Python Django待办事项应用的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。