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 使用文本编辑器
打开项目文件夹,目录结构应如下所示:
现在,在 settings.py todo_site中添加待办事项应用程序和crispy_form。
在 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