Pythonのdjangoでリクエスト情報取得方法のまとめ

Python

今回はdjangoのリクエスト情報取得方法を紹介します。

URLの情報取得

urls.pyで以下のように定義するば、URLの情報を取得できます。
URL:127.0.0.1:8000/book/index/1/2

urlpatterns = [
    re_path(r’index/(\d)/(\d)‘, index)
]

または変数名を指定できます。
urlpatterns = [
    re_path(r’index/(?P<data1>\d)/(?P<data2>\d)’, index)
]
views.pyで以下のように定義すれば、data1,data2の値でURLの情報として利用できます。
def index(request,data1,data2):

リクエストから取得

URL:127.0.0.1:8000/book/index/1/2?q=123

def index(request,data2,data1):
     print(request.GET[‘q’])

bodyから情報取得

    if request.method == ‘POST’:
        json_str = request.body
        json_data = json.loads(json_str)
        print(json_data)

headerから情報取得

request.META[‘CONTENT_TYPE’]

cookie設定&値取得

    # 設定
    response = HttpResponse(‘index’)
    response.cookies[‘userid’] = ‘abc’ 
 または
 response.set_cookie(key, value, max_age=max_age, expires=expires)

 # 取得
   request.COOKIES[‘userid’]

session設定&値取得

# 設定
request.session[‘has_commented’] = True

# 取得
request.session.get(‘has_commented’, False)

# 削除
del request.session[‘has_commented’]

#すべてのデータ削除
request.session.clear()

# データベースのKEYも削除
request.session.flush()

#sessionではデフォルト有効期限は2週間。
#有効期限設定(秒)
request.session.set_expiry(10)
タイトルとURLをコピーしました