今回は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 = 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[‘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)
#すべてのデータ削除
request.session.clear()
# データベースのKEYも削除
request.session.flush()
#sessionではデフォルト有効期限は2週間。
#有効期限設定(秒)
request.session.set_expiry(10)