Django入门学习笔记2:基于Django库的后端开发实操
在前面的学习中,我们了解到Django是一个强大的Web框架,可以帮助我们快速搭建Web应用程序。接下来,我们将从零开始,搭建一个简单的Django项目,并实现一个基本的后端功能。我们会创建一个名为“TodoList”的待办事项应用程序,用户能够添加、查看和删除待办事项。
环境准备
在开始之前,确保你的开发环境中已经安装了Python和Django。如果没有安装,可以使用以下命令来安装Django:
pip install django
创建项目
首先,我们需要创建一个新的Django项目。打开终端并运行以下命令:
django-admin startproject TodoList
进入项目目录:
cd TodoList
创建应用
在Django中,项目通常由多个应用组成。我们将创建一个名为“tasks”的应用,专门用于处理待办事项。可以使用以下命令创建应用:
python manage.py startapp tasks
定义模型
接下来,我们需要定义“待办事项”的数据模型。打开tasks/models.py
文件,添加如下代码:
from django.db import models
class Task(models.Model):
title = models.CharField(max_length=200)
completed = models.BooleanField(default=False)
def __str__(self):
return self.title
在这个模型中,我们定义了一个Task
类,它有两个字段:title
和completed
,分别表示待办事项的标题和完成状态。
注册模型
为了让Django知道我们定义的模型,需要在tasks/admin.py
中注册它:
from django.contrib import admin
from .models import Task
admin.site.register(Task)
创建数据库
接下来,我们需要创建数据库并将模型应用到数据库中。首先,修改TodoList/settings.py
文件,确保tasks
应用被加入到INSTALLED_APPS
中:
INSTALLED_APPS = [
...
'tasks',
]
然后运行以下命令以生成数据库迁移文件:
python manage.py makemigrations
创建数据库:
python manage.py migrate
创建视图
现在我们可以创建视图,以处理用户的请求。打开tasks/views.py
,添加以下代码:
from django.shortcuts import render, redirect
from .models import Task
def task_list(request):
tasks = Task.objects.all()
return render(request, 'tasks/task_list.html', {'tasks': tasks})
def add_task(request):
if request.method == 'POST':
title = request.POST['title']
Task.objects.create(title=title)
return redirect('task_list')
return render(request, 'tasks/add_task.html')
def delete_task(request, task_id):
task = Task.objects.get(id=task_id)
task.delete()
return redirect('task_list')
这里,我们定义了三个视图:task_list
用于查看待办事项列表,add_task
用于添加新的待办事项,delete_task
用于删除指定的待办事项。
配置URL
为了使视图函数能够访问,我们需要在tasks/urls.py
中配置URL。
首先创建urls.py
文件并添加如下代码:
from django.urls import path
from .views import task_list, add_task, delete_task
urlpatterns = [
path('', task_list, name='task_list'),
path('add/', add_task, name='add_task'),
path('delete/<int:task_id>/', delete_task, name='delete_task'),
]
然后在TodoList/urls.py
中包含tasks
应用的URL:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('tasks/', include('tasks.urls')),
]
创建模板
接下来,我们需要创建HTML模板来展示待办事项。首先,在tasks
目录下创建一个templates
文件夹,并在其中创建一个tasks
文件夹。然后,创建task_list.html
和add_task.html
模板。
task_list.html
内容:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>待办事项列表</title>
</head>
<body>
<h1>待办事项列表</h1>
<form action="{% url 'add_task' %}" method="POST">
{% csrf_token %}
<input type="text" name="title" required>
<button type="submit">添加</button>
</form>
<ul>
{% for task in tasks %}
<li>
{{ task.title }}
<a href="{% url 'delete_task' task.id %}">删除</a>
</li>
{% endfor %}
</ul>
</body>
</html>
add_task.html
内容:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>添加待办事项</title>
</head>
<body>
<h1>添加待办事项</h1>
<form action="" method="POST">
{% csrf_token %}
<input type="text" name="title" required>
<button type="submit">添加</button>
</form>
</body>
</html>
启动项目
一切准备就绪后,我们可以启动Django开发服务器,运行以下命令:
python manage.py runserver
在浏览器中打开http://127.0.0.1:8000/tasks/
,你应该能看到待办事项列表页面。
总结
通过以上步骤,我们成功搭建了一个简单的Django项目,创建了待办事项应用,实现了添加、查看和删除待办事项的基本功能。这是Django开发的基础,后续可以添加更复杂的功能,比如用户认证、数据验证等。希望这篇笔记能帮助到正在学习Django的你!