Django 是一个基于 MVC 模式的 Web 框架,视图(View)、模板(Template)、路由(URL)和模型(Model)是 Django 中四个重要的组成部分。
一、视图(View)
在 Django 中,视图是处理 Web 请求并返回 Web 响应的函数。视图函数通常是在 views.py 文件中定义的 Python 函数,接受一个 Web 请求作为参数,并返回一个 Web 响应。视图函数可以使用 Django 中的模型对象和模板系统等组件进行操作,以便实现各种功能。
以下是一个简单的 Django 视图函数的示例:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello, world!")
二、模板(Template)
模板是 Django 中用于构建 HTML 页面的组件。模板通常是包含了 HTML 代码和模板标签(template tag)的文本文件,模板标签允许将数据动态地插入到模板中。模板中的变量可以通过上下文对象(context)传递给模板,上下文对象是一个 Python 字典,包含了模板变量名和对应的值。
以下是一个简单的 Django 模板文件的示例:
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>{{ headline }}</h1>
<p>{{ content }}</p>
</body>
</html>
在这个模板中,使用双花括号包裹的变量名将在渲染模板时被替换为对应的值。这个模板中包含了一个变量 title,headline 和 content,这些变量可以在视图函数中通过上下文对象传递给模板。
三、路由(URLconf)
路由是 Django 中用于将 URL 地址映射到视图函数的机制。路由由一个 URL 模式(URL pattern)和一个视图函数组成,Django 使用 URL来管理应用的路由。
在 Django 中,URL是一个 Python 模块,包含了一组 URL 模式和对应的视图函数。当 Web 请求到达 Django 时,Django 会根据请求的 URL 地址匹配 URL中的 URL 模式,找到对应的视图函数来处理请求。
以下是一个简单的 Django URL的示例:
from django.urls import path
from . import views
urlpatterns = [
path('hello/', views.hello, name='hello'),
]
四、模型(Model)
在 Django 中,模型是一个 Python 类,它定义了数据库中的表结构。 Django 会自动为每个模型创建一个数据库表,并为每个表中的每个字段创建相应的列。你可以将模型想象成数据的结构,通过定义模型类的属性,定义数据的结构,包括数据的类型、长度、默认值等等。
Django 提供了一个称为 ORM(Object Relational Mapping)的方法,它使开发人员可以使用 Python 代码来与数据库交互,而不需要编写 SQL 语句。ORM 通过将数据库的表、列和行转换为 Python 对象来实现这一点。
以下是一个简单的模型定义示例:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=100)
publish_date = models.DateField()
在这个例子中,我们定义了一个名为 Book 的模型,它包含三个字段:title,author 和 publish_date。CharField 是一个字符型字段,max_length 参数定义了字段的最大长度。DateField 是一个日期型字段。
五、更多详细教程参考