Django 프로젝트 개발에서 cookies와session의 상용 조작 분석
COOKIES 작업
cookies가 있는지 확인합니다.
request.COOKIES.has_key('')
쿠키 가져오기:
request.COOKIES.get('visits', '1')
if 'last_visit' in request.COOKIES:
request.COOKIES['last_visit']
쿠키 설정:
response.set_cookie('', value)
SESSION 작업
세션 가져오기:
fav_color = request.session.get('fav_color', 'red')
fav_color = request.session['fav_color']
세션 설정:
request.session['visits'] = visits
세션 삭제:
del request.session['fav_color']
주어진 키가 세션에 존재하지 않으면 KeyError를 던집니다.
판단에 세션 포함:
'fav_color' in request.session
세션 데이터베이스 지우기
python manage.py clearsessions
첨부: Django는 사용자 정의 cookies에 기반한 로그인, 등록, 종료 기능의 예:
#
def regist(req):
if req.method == 'POST':
uf = UserForm(req.POST)
if uf.is_valid():
#
username = uf.cleaned_data['username']
password = uf.cleaned_data['password']
#
User.objects.create(username= username,password=password)
return HttpResponse('regist success!!')
else:
uf = UserForm()
return render_to_response('regist.html',{'uf':uf}, context_instance=RequestContext(req))
#
def login(req):
if req.method == 'POST':
uf = UserForm(req.POST)
if uf.is_valid():
#
username = uf.cleaned_data['username']
password = uf.cleaned_data['password']
#
user = User.objects.filter(username__exact = username,password__exact = password)
if user:
# , index
response = HttpResponseRedirect('/online/index/')
# username cookie, 3600
response.set_cookie('username',username,3600)
return response
else:
# , login
return HttpResponseRedirect('/online/login/')
else:
uf = UserForm()
return render_to_response('login.html',{'uf':uf},context_instance=RequestContext(req))
#
def index(req):
username = req.COOKIES.get('username','')
return render_to_response('index.html' ,{'username':username})
#
def logout(req):
response = HttpResponse('logout !!')
# cookie username
response.delete_cookie('username')
return response
본고에서 기술한 바가 여러분들이 Django 프레임워크를 바탕으로 하는 Python 프로그램 설계에 도움이 되었으면 합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.