Django中:
cookie的存:
~~~
response = HttpResponse('登陸成功') #改成重定向等都可以
response.set_cookie('username',username)
#response.set_signed_cookie('username',username,salt='asdasd') #帶簽名的cookie(加鹽)
response.set_cookie('password',password)
return response
~~~
cookie的取:
~~~
username = request.COOKIES.get('username')
#username = request.get_signed_cookie('username',salt='asdasd') #獲取帶簽名的cookie(鹽要相同,不然拿不到)
password = request.COOKIES.get('password')
~~~
cookie的刪除:
~~~
response = HttpResponse('清除成功') #改成重定向等都可以
response.delete_cookie('username')
response.delete_cookie('password')
return response
~~~
?PS:不設置過期時間的話,默認關閉瀏覽器就失效
session的存:
~~~
request.session['username'] = username
#上面這一句代碼完成了以下事情:
#1、生成隨機字符串
#2、將隨機字符串寫到用戶瀏覽器cookie
#3、將隨機字符串保存到服務器session
#4、在服務器隨機字符串對應的字典中設置相關內容
request.session['password'] = password
return HttpResponse('登陸成功')
~~~
session的取:
~~~
username = request.session.get('username')
#username = request.session['username'] #兩種方式都可以取,但是這種如果沒取到會報錯
password = request.session.get('password')
~~~
session的刪除:
~~~
request.session.flush() #刪除所有session
#del request.session['username'] #刪除key為username的session
return HttpResponse('清除成功')
~~~
?PS:在django中,session默認的過期時間是兩周
```
數據庫:
SESSION_ENGINE = 'django.contrib.sessions.backends.db' # 引擎(默認)
緩存:
SESSION_ENGINE = 'django.contrib.sessions.backends.cache' # 引擎
SESSION_CACHE_ALIAS = 'default' # 使用的緩存別名(默認內存緩存,也可以是memcache),此處別名依賴緩存的設置
文件:
SESSION_ENGINE = 'django.contrib.sessions.backends.file' # 引擎
SESSION_FILE_PATH = None # 緩存文件路徑,如果為None,則使用tempfile模塊獲取一個臨時地址tempfile.gettempdir() # 如:/var/folders/d3/j9tj0gz93dg06bmwxmhh6_xm0000gn/T
緩存+數據庫:
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db' # 引擎
session引擎配置
```
```
- 配置文件中設置默認操作(通用配置):
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,默認修改之后才保存(默認)
session在settings.py里面的一些默認配置
```
- Python學習
- Python基礎
- Python初識
- 列表生成式,生成器,可迭代對象,迭代器詳解
- Python面向對象
- Python中的單例模式
- Python變量作用域、LEGB、閉包
- Python異常處理
- Python操作正則
- Python中的賦值與深淺拷貝
- Python自定義CLI三方庫
- Python并發編程
- Python之進程
- Python之線程
- Python之協程
- Python并發編程與IO模型
- Python網絡編程
- Python之socket網絡編程
- Django學習
- 反向解析
- Cookie和Session操作
- 文件上傳
- 緩存的配置和使用
- 信號
- FBV&&CBV&&中間件
- Django補充
- 用戶認證
- 分頁
- 自定義搜索組件
- Celery
- 搭建sentry平臺監控
- DRF學習
- drf概述
- Flask學習
- 項目拆分
- 三方模塊使用
- 爬蟲學習
- Http和Https區別
- 請求相關庫
- 解析相關庫
- 常見面試題
- 面試題
- 面試題解析
- 網絡原理
- 計算機網絡知識簡單介紹
- 詳解TCP三次握手、四次揮手及11種狀態
- 消息隊列和數據庫
- 消息隊列之RabbitMQ
- 數據庫之Redis
- 數據庫之初識MySQL
- 數據庫之MySQL進階
- 數據庫之MySQL補充
- 數據庫之Python操作MySQL
- Kafka常用命令
- Linux學習
- Linux基礎命令
- Git
- Git介紹
- Git基本配置及理論
- Git常用命令
- Docker
- Docker基本使用
- Docker常用命令
- Docker容器數據卷
- Dockerfile
- Docker網絡原理
- docker-compose
- Docker Swarm
- HTML
- CSS
- JS
- VUE