Django 是一个用于构建 Web 应用程序的 Python 框架,它遵循了 MVC(Model-View-Controller)的设计模式,其中将应用程序分为模型(Model)、视图(View)和控制器(Controller)三个部分。
下面我将详细说明 Django 框架的运行流程,并结合示例代码进行说明。
假设我们要创建一个简单的待办事项清单应用程序。
请求的处理流程:
http://localhost:8000/tasks/
示例代码:
假设我们的应用有以下文件结构:
myapp/
├── manage.py
├── myapp/
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ ├── views.py
│ ├── models.py
│ ├── templates/
│ │ └── tasks.html
└── ...
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
views.py
- 定义视图函数:
from django.shortcuts import render
from .models import Task
def task_list(request):
tasks = Task.objects.all()
return render(request, 'tasks.html', {'tasks': tasks})
urls.py
- 配置 URL 路由:
from django.urls import path
from . import views
urlpatterns = [
path('tasks/', views.task_list, name='task_list'),
]
templates/tasks.html
- HTML 模板:
<!DOCTYPE html>
<html>
<head>
<title>Task List</title>
</head>
<body>
<h1>Task List</h1>
{% for task in tasks %}* {{ task.title }}
</body>
</html>
在这个示例中,当用户访问 http://localhost:8000/tasks/
时,Django 的 URL 分发器会将请求指向 task_list
视图函数。这个视图函数从数据库中查询所有任务,然后将它们传递给名为 tasks.html
的模板进行渲染。最终,用户将在浏览器中看到一个列出所有任务的页面。
这就是 Django 框架的基本运行流程。从 URL 分发到视图函数,再到模板渲染,最终构建出响应返回给用户。