我知道您可以使用request.session['variable_name']
獲得會話變量,但似乎沒有辦法以類似的方式將sessionid作爲變量來獲取。這是記錄在任何地方?我找不到它。謝謝你的幫助!在Django中,如何找出request.session sessionid並將其用作變量?
67
A
回答
115
簡單多了:
request.session.session_key
注意,如果有一個會話密鑰才存在,沒有鑰匙,沒有會話。您可以使用它來測試會話是否存在。如果你想創建一個會話,請調用create。
23
Django會話將其密鑰保存在cookie中。至少其中間件中分離出來是這樣的:
from django.conf import settings
session_key = request.COOKIES[settings.SESSION_COOKIE_NAME]
+1
這不,如果會話幫助鍵雖然不存在。 – Greg 2016-09-25 22:43:48
4
用途:
request.COOKIES['sessionid']
9
這將爲您提供會話ID或爲您創建一個會話ID。如果你做dir(request.session)
,你會得到很多有用的方法。
['TEST_COOKIE_NAME', 'TEST_COOKIE_VALUE', '__class__', '__contains__',
'__delattr__', '__delitem__', '__dict__', '__doc__', '__format__',
'__getattribute__', '__getitem__', '__hash__', '__init__', '__module__',
'__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__',
'__setitem__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__',
'_get_new_session_key', '_get_or_create_session_key', '_get_session',
'_get_session_key', '_hash', '_session', '_session_key', 'accessed',
'clear', 'create', 'cycle_key', 'decode', 'delete', 'delete_test_cookie',
'encode', 'exists', 'flush', 'get', 'get_expire_at_browser_close',
'get_expiry_age', 'get_expiry_date', 'has_key', 'items', 'iteritems',
'iterkeys', 'itervalues', 'keys', 'load', 'modified', 'pop', 'save',
'session_key', 'set_expiry', 'set_test_cookie', 'setdefault',
'test_cookie_worked', 'update', 'values']
session_id = request.session._get_or_create_session_key()
18
在Django> = 1.4使用
:
request.session._session_key
1
在Django中1.8:
request.session.session_key
和
request.session._session_key
兩者都正常工作。
4
要可靠地獲取會話密鑰,您需要確保首先創建會話。 The documentation提到了.create()
會話方法,它可以用來確保有一個會話密鑰:
0
可以檢查您的會話太:
If "var" in request.session:
Var = request.session['var']
Return httpResponse("set")
Else:
Return httpResponse("there isn't")
相關問題
- 1. 尋找URL並將其作出變量
- 2. 如何保存一個變量並將其導出到bash中
- 3. Django:把request.FILES放在request.SESSION
- 4. Bash腳本 - 獲取系統輸出並將其用作變量
- 5. 在數組中使用變量並將其屬性用作變量
- 6. 如何捕獲文本框的值並將其用作變量?
- 7. 從對象值中設置變量並將其用作其他變量
- 8. request.session屬性在Django中消失
- 9. 試圖使用JavaScript變量作爲PHP變量,並將其存儲在mysql中
- 10. 與Oauth的Django會話 - 無法通過request.session傳遞變量
- 11. 找到視口的中心,並將其存儲在變量
- 12. 如何檢索XSLT中的變量並將其存儲在變量中?
- 13. 如何從select中獲取值並將其用作sql中的變量?
- 14. 從管道捕獲輸出並將其存儲在變量中
- 15. 在不使用request.session的情況下將自定義變量添加到Django Middleware中的請求對象中
- 16. 如何獲得href值並將其作爲javascript變量?
- 17. 如何使用gsub修改awk中的變量值並將其打印出來?
- 18. 如何從表單輸入/輸出並將其存儲在JS變量中?
- 19. 如何獲取錯誤輸出並將其存儲在變量或文件中
- 20. 聲明一個變量並將其用作參數
- 21. 如何將變量數據存儲在其他變量中並解析它
- 22. 如何獲取PHP變量數據並將其存儲在JavaScript變量中
- 23. Swift - 將URL查詢傳遞給App並將其用作變量
- 24. 從URL獲取數字並將其用作PHP中的變量
- 25. 獲取警報值,並將其作爲變量在php中
- 26. 如何從輸入中獲取值並將其用作jQuery變量?
- 27. 如何計算值並將其用作存儲過程中的變量
- 28. 在system()中使用變量並將其輸出存儲在文件中
- 29. 如何獲取jSON API數據並將其作爲變量存儲在PHP中
- 30. 如何使用變量在元組中查找? (Django的)
從Django 1.4開始,這不再有效。 – 2012-09-11 10:50:39
@VebjornLjosa什麼? – aehlke 2012-09-20 21:42:56