Django HttpResponse
最后修改于 2023 年 1 月 9 日
Django HttpResponse 教程展示了如何在 Django 中使用 HttpResponse 发送字符串数据。
Django
Django 是一个高级 Python Web 框架。它鼓励快速开发和清晰、实用的设计。Django 的主要目标是简化复杂、数据库驱动的网站的创建。
Django 由 Django Software Foundation 维护。
Django HttpResponse
HttpResponse 是一个包含字符串数据的响应类。HttpRequest 由 Django 创建,而 HttpResponse 由程序员创建。
HttpResponse 有一些子类,包括 JsonResponse、StreamingHttpResponse 和 FileResponse。
Django HttpResponse 示例
在下面的示例中,我们创建一个 Django 应用程序,该应用程序将文本数据发送到客户端。我们发送今天的日期和时间。
$ mkdir httpresponse $ cd httpresponse $ mkdir src $ cd src
我们创建项目和 src 目录。然后我们进入 src 目录。
$ django-admin startproject httpresponse .
我们在 src 目录中创建一个新的 Django 项目。
注意: 如果提供了可选的目标目录,Django 将使用该现有目录作为项目目录。如果省略,Django 会根据项目名称创建一个新目录。我们使用点号 (.) 在当前工作目录中创建项目。
$ cd .. $ pwd /c/Users/Jano/Documents/pyprogs/django/httpresponse
我们进入项目目录。
$ tree /f
src
│ db.sqlite3
│ manage.py
│
└───httpresponse
settings.py
urls.py
views.py
wsgi.py
__init__.py
这是项目目录的内容。
注意: Django 的方式是将功能放入应用程序(app)中,应用程序使用 django-admin startapp 创建。在本教程中,我们不使用应用程序以简化示例。我们专注于演示如何发送 HttpResponse。
from django.contrib import admin
from django.urls import path
from .views import now
urlpatterns = [
path('admin/', admin.site.urls),
path('now/', now, name='now'),
]
我们添加一个新的路径 now/;它调用 views.py 模块中的 now 函数。
from django.http import HttpResponse
import datetime
def now(request):
now = datetime.datetime.now()
msg = f'Today is {now}'
return HttpResponse(msg, content_type='text/plain')
在 now 函数中,我们确定当前日期和时间。我们构建一条消息,并在 HttpResponse 中将其发送给客户端。内容类型被设置为纯文本。
$ python manage.py runserver
我们运行服务器并导航到 http://127.0.0.1:8000/now/。
$ curl localhost:8000/now/ Today is 2019-04-17 13:39:46.216899
我们使用 curl 工具发出 GET 请求。
在本篇文章中,我们演示了如何在 Django 中使用 HttpResponse 发送文本数据。