Djangoでは、HTTPリクエストとレスポンスをどのように処理しますか?
Djangoでは、HTTPリクエストとレスポンスを処理する主要な方法はビュー関数を使用することです。ビュー関数は、HTTPリクエストを受け取り、HTTPレスポンスを返すPython関数です。
HTTPリクエストの処理:
- views.pyファイル内でビュー関数を定義する:関数は、HttpRequestオブジェクトをパラメーターとして受け取り、そのオブジェクトを使用してリクエストのメソッド、パス、パラメーターなどの情報を取得することができます。
from django.http import HttpResponse
def my_view(request):
# 获取请求参数
param_value = request.GET.get('param_key', '')
# 处理请求逻辑
...
return HttpResponse('Response content')
- urls.pyファイルでURLルートを設定し、リクエストパスを対応するビュー関数にマッピングします。
from django.urls import path
from .views import my_view
urlpatterns = [
path('my_route/', my_view),
]
HTTPレスポンスを処理する:
- ビュー関数内で、HttpResponseクラスを使用してレスポンスオブジェクトを構築することができます。 応答の内容やステータスコードなどのパラメータを指定してください。
from django.http import HttpResponse
def my_view(request):
# 处理请求逻辑
...
# 构造响应对象
response = HttpResponse('Response content', status=200)
return response
- JsonResponseクラスを使用すると、Json形式のレスポンスを返すことができます。
from django.http import JsonResponse
def my_view(request):
# 处理请求逻辑
...
# 构造Json响应
response_data = {'key': 'value'}
response = JsonResponse(response_data)
return response