Python 教程之 Django(11)待办事项网络应用

简介: Python 教程之 Django(11)待办事项网络应用

Django是一个基于Python Web框架的高级Web框架,允许快速开发和干净,务实的设计。今天,我们将创建一个待办事项应用程序,以了解Django的基础知识。在这个网络应用程序中,人们可以创建笔记,如谷歌保持或印象笔记。

所需模块 : 

  • 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 使用文本编辑器

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

image.png

现在,在 settings.py todo_site中添加待办事项应用程序和crispy_form

image.png

在 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__"

将模型注册到管理员 :

image.png

导航到 templates/todo/index.html 并对其进行编辑: 链接到index.html文件 进行迁移并迁移它 

python manage.py makemigrations
python manage.py migrate

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

python manage.py runserver

image.png



目录
相关文章
|
1天前
|
机器学习/深度学习 数据可视化 数据处理
Python在数据科学中的应用###
本文探讨了Python语言在数据科学领域的广泛应用及其重要性。通过分析Python的简洁语法、强大的库支持和跨平台特性,阐述了为何Python成为数据科学家的首选工具。文章还介绍了Python在数据处理、分析和可视化方面的具体应用实例,展示了其在提升工作效率和推动科学研究方面的巨大潜力。最后,讨论了未来Python在数据科学领域的发展趋势和挑战。 ###
|
2天前
|
测试技术 开发者 Python
深入浅出:Python中的装饰器解析与应用###
【10月更文挑战第22天】 本文将带你走进Python装饰器的世界,揭示其背后的魔法。我们将一起探索装饰器的定义、工作原理、常见用法以及如何自定义装饰器,让你的代码更加简洁高效。无论你是Python新手还是有一定经验的开发者,相信这篇文章都能为你带来新的启发和收获。 ###
6 1
|
3天前
|
调度 开发者 Python
异步编程在Python中的应用:Asyncio和Coroutines
异步编程在Python中的应用:Asyncio和Coroutines
8 1
|
3天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
8 1
|
1天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
4 0
|
2天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
6 0
|
2天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
7 0
|
3天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy 教程之 SciPy 模块列表 13 - 单位类型。常量模块包含多种单位:公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例:`constants.zero_Celsius` 返回 273.15 开尔文,`constants.degree_Fahrenheit` 返回 0.5555555555555556。
6 0
|
4天前
|
Python
SciPy 教程 之 SciPy 模块列表 11
SciPy教程之SciPy模块列表11:单位类型。常量模块包含公制单位、质量单位、角度换算、时间单位、长度单位、压强单位、体积单位、速度单位、温度单位、能量单位、功率单位、力学单位等。体积单位示例展示了不同体积单位的换算,如升、加仑、流体盎司、桶等。
8 0
|
3天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
12 1