Django 视图

2024 年 8 月 29 日 | 阅读 2 分钟

视图是我们放置应用程序业务逻辑的地方。视图是一个 Python 函数,用于执行某些业务逻辑并向用户返回一个响应。此响应可以是网页的 HTML 内容、重定向或 404 错误。

所有视图函数都创建在 Django 应用程序的 views.py 文件中。

Django 视图简单示例

//views.py

让我们逐步介绍代码。

首先,我们将导入 DateTime 库,它提供了一种获取当前日期和时间的方法,以及 HttpResponse 类。

接下来,我们定义一个视图函数 index,它接收 HTTP 请求并响应。

视图在与 urls.py 中的 URL 映射时被调用。例如

输出

django views

返回错误

Django 提供了各种内置的错误类,这些类是 HttpResponse 的子类,用于将错误消息显示为 HTTP 响应。以下列出了一些类。

Class描述
class HttpResponseNotModified它用于指定自用户上次请求以来页面尚未修改(状态码 304)。
class HttpResponseBadRequest它的行为与 HttpResponse 相同,但使用 400 状态码。
class HttpResponseNotFound它的行为与 HttpResponse 相同,但使用 404 状态码。
class HttpResponseNotAllowed它的行为与 HttpResponse 相同,但使用 410 状态码。
HttpResponseServerError它的行为与 HttpResponse 相同,但使用 500 状态码。

Django 视图示例

// views.py

输出

django views 1

Django 视图 HTTP 装饰器

HTTP 装饰器用于根据请求方法限制对视图的访问。

这些装饰器列在 django.views.decorators.http 中,如果条件不满足,则返回 django.http.HttpResponseNotAllowed。

语法

require_http_methods(request_method_list)

Django Http 装饰器示例

//views.py

此方法仅在请求是 HTTP GET 请求时执行。

//urls.py

输出

django views 2
下一个主题模板