Django 프레임 워 크 전면 설명-세 션
8371 단어 Django
- ( )
-
-
- +
- cookie
1.데이터베이스 세 션
Django Session, Session , :django_session 。
a. settings.py
SESSION_ENGINE = 'django.contrib.sessions.backends.db' # ( )
SESSION_COOKIE_NAME = "sessionid" # Session cookie key, :sessionid= ( )
SESSION_COOKIE_PATH = "/" # Session cookie ( )
SESSION_COOKIE_DOMAIN = None # Session cookie ( )
SESSION_COOKIE_SECURE = False # Https cookie( )
SESSION_COOKIE_HTTPONLY = True # Session cookie http ( )
SESSION_COOKIE_AGE = 1209600 # Session cookie (2 )( )
SESSION_EXPIRE_AT_BROWSER_CLOSE = False # Session ( )
SESSION_SAVE_EVERY_REQUEST = False # Session, ( )
b.
def index(request):
# 、 、 Session
request.session['k1']
request.session.get('k1',None)
request.session['k1'] = 123
request.session.setdefault('k1',123) #
del request.session['k1']
# 、 、
request.session.keys()
request.session.values()
request.session.items()
request.session.iterkeys()
request.session.itervalues()
request.session.iteritems()
# session
request.session.session_key
# Session
request.session.clear_expired()
# session
request.session.exists("session_key")
# Session
request.session.delete("session_key")
...
2.캐 시 세 션
a. settings.py
SESSION_ENGINE = 'django.contrib.sessions.backends.cache' #
SESSION_CACHE_ALIAS = 'default' # ( , memcache),
SESSION_COOKIE_NAME = "sessionid" # Session cookie key, :sessionid=
SESSION_COOKIE_PATH = "/" # Session cookie
SESSION_COOKIE_DOMAIN = None # Session cookie
SESSION_COOKIE_SECURE = False # Https cookie
SESSION_COOKIE_HTTPONLY = True # Session cookie http
SESSION_COOKIE_AGE = 1209600 # Session cookie (2 )
SESSION_EXPIRE_AT_BROWSER_CLOSE = False # Session
SESSION_SAVE_EVERY_REQUEST = False # Session,
b.
3.파일 세 션
a. settings.py
SESSION_ENGINE = 'django.contrib.sessions.backends.file' #
SESSION_FILE_PATH = None # , None, tempfile tempfile.gettempdir() # :/var/folders/d3/j9tj0gz93dg06bmwxmhh6_xm0000gn/T
SESSION_COOKIE_NAME = "sessionid" # Session cookie key, :sessionid=
SESSION_COOKIE_PATH = "/" # Session cookie
SESSION_COOKIE_DOMAIN = None # Session cookie
SESSION_COOKIE_SECURE = False # Https cookie
SESSION_COOKIE_HTTPONLY = True # Session cookie http
SESSION_COOKIE_AGE = 1209600 # Session cookie (2 )
SESSION_EXPIRE_AT_BROWSER_CLOSE = False # Session
SESSION_SAVE_EVERY_REQUEST = False # Session,
b.
4.캐 시+데이터베이스 세 션
,
a. settings.py
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db' #
b.
5.암호 화 쿠키 세 션
a. settings.py
SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies' #
b.
데이터베이스 작업 과 마찬가지 로 Django 에서 서로 다른 캐 시 방식 의 사용 방법 은 일치 합 니 다.캐 시 형식 을 바 꾸 려 면 상기 설정 만 바 꾸 면 됩 니 다.
더 많은 참고:https://docs.djangoproject.com/en/1.11/topics/http/sessions/ 화해시키다https://docs.djangoproject.com/en/1.11/ref/settings/#settings-sessions
확장:세 션 사용자 인증(장식 기)
def login(func):
def wrap(request, *args, **kwargs):
# ,
if request.path == '/test/':
return redirect('http://www.baidu.com')
return func(request, *args, **kwargs)
return wrap
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django 라우팅 계층 URLconf 작용 및 원리 해석URL 구성(URLconf)은 Django가 지원하는 웹 사이트의 디렉토리와 같습니다.그것의 본질은 URL과 이 URL을 호출할 보기 함수 사이의 맵표입니다. 위의 예제에서는 URL의 값을 캡처하고 위치 매개 변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.