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


目录
相关文章
|
14天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
14天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。
|
16天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
|
18小时前
|
运维 Shell Python
Shell和Python学习教程总结
Shell和Python学习教程总结
|
1天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
1天前
|
机器学习/深度学习 算法 Python
Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测
Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测
39 12
|
2天前
|
机器学习/深度学习 算法 算法框架/工具
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
21 0
|
7天前
|
机器学习/深度学习 Python
Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
16 0
|
7天前
|
JSON 网络协议 API
Python网络编程面试题精讲
【4月更文挑战第15天】本文介绍了Python网络编程的面试重点,包括基础Socket编程、HTTP协议与requests库、异步编程与asyncio库。通过实例解析常见面试题,强调了非阻塞套接字、异常处理、HTTP状态码检查以及异步任务管理等关键点。提供代码示例帮助读者巩固概念,助力面试准备。
13 0
|
8天前
|
Python
基于Django的Python应用—学习笔记—功能完善
基于Django的Python应用—学习笔记—功能完善

热门文章

最新文章