मुझे पता है कि आप request.session['variable_name']
का उपयोग कर सत्र चर प्राप्त कर सकते हैं, लेकिन ऐसा लगता है कि सत्रिक को समान रूप से एक चर के रूप में पकड़ने का कोई तरीका नहीं लगता है। क्या यह कहीं भी दस्तावेज है? मुझे यह नहीं मिल रहा है। आपकी सहायताके लिए धन्यवाद!Django में, मैं request.session sessionid को कैसे ढूंढ सकता हूं और इसे एक चर के रूप में उपयोग कर सकता हूं?
उत्तर
बहुत सरल:
request.session.session_key
नोट अगर वहाँ एक सत्र है कुंजी केवल उपलब्ध नहीं होगा, कोई कुंजी, कोई सत्र नहीं यदि कोई सत्र मौजूद है तो आप इसका परीक्षण करने के लिए इसका उपयोग कर सकते हैं। यदि आप एक सत्र बनाना चाहते हैं, तो कॉल करें।
Django सत्र कुकी में अपनी कुंजी को सहेजते हैं। कम से कम अपनी मिडलवेयर इस तरह यह अर्क:
from django.conf import settings
session_key = request.COOKIES[settings.SESSION_COOKIE_NAME]
इस सत्र में अगर मदद नहीं करता है The documentation एक .create()
सत्र विधि है, जो वहाँ एक सत्र कुंजी सुनिश्चित करने के लिए इस्तेमाल किया जा सकता का उल्लेख है कुंजी मौजूद नहीं है हालांकि। –
Greg
उपयोग:
request.COOKIES['sessionid']
यह आपको या तो सत्र आईडी प्राप्त करेगा या आपके लिए एक बना देगा। यदि आप 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()
:
request.session._session_key
एआरएम देखें, निजी चर के मुख्य उद्देश्य (अंडरस्कोर से शुरू होने वाले) यह है कि आपको ** ** ** उनका उपयोग नहीं करना चाहिए। –
@ MichałGórny तो विकल्प क्या है? यदि कोई नहीं है, तो मुझे नहीं लगता कि हमारे पास कोई विकल्प है ... – Mark
विकल्प उचित कोड लिखना है। यदि django सत्र कुंजी प्राप्त करने के लिए * सार्वजनिक * एपीआई प्रदान नहीं करता है, तो इसका मतलब है कि आपको उस कुंजी का उपयोग नहीं करना चाहिए। मैं यह जानने के बिना आपको और नहीं बता सकता कि आप वास्तव में क्या करने की कोशिश कर रहे हैं लेकिन फिर यह अलग प्रश्न के लिए शायद एक क्षेत्र है। –
Django 1.8 में:
request.session.session_key
और
request.session._session_key
दोनों सही ढंग से काम करते हैं।
विश्वसनीय रूप से सत्र कुंजी प्राप्त करने के लिए, आपको यह सुनिश्चित करना होगा कि सत्र पहले बनाया गया हो।
def my_view(request):
if not request.session.session_key:
request.session.create()
print(request.session.session_key)
आप अपने सत्र भी में जांच कर सकते हैं::
If "var" in request.session:
Var = request.session['var']
Return httpResponse("set")
Else:
Return httpResponse("there isn't")
- 1. मैं फॉगबगज़ को ईमेल कैसे भेज सकता हूं और इसे एक बग में बना सकता हूं?
- 2. मैं PHP चर के रूप में जावास्क्रिप्ट चर का उपयोग कैसे कर सकता हूं?
- 3. मैं LINQ में चर को कैसे परिभाषित कर सकता हूं?
- 4. मैं पायथन में एक चर के रूप में एक सूची कैसे वापस कर सकता हूं और Jinja2 में उपयोग कर सकता हूं?
- 5. पर्ल में मॉड्यूल नाम के रूप में मैं चर का उपयोग कैसे कर सकता हूं?
- 6. मैं ग्रोवी में वैश्विक चर कैसे बना सकता हूं और एक्सेस कर सकता हूं?
- 7. मैं php में चर के रूप में नामित ऑब्जेक्ट प्रॉपर्टी का उपयोग कैसे कर सकता हूं?
- 8. मैं सरणी में अधिकतम मान के सूचकांक को कैसे ढूंढ और मुद्रित कर सकता हूं?
- 9. एक्सएसएलटी: क्या मैं वैश्विक स्तर पर एक चर घोषित कर सकता हूं और बाद में इसे मान सकता हूं
- 10. मैं जावास्क्रिप्ट में Shift + key को कैसे ढूंढ सकता हूं?
- 11. मैं एक आईफोन ढांचा कैसे बना सकता हूं और इसे अन्य आईफोन अनुप्रयोगों में उपयोग कर सकता हूं
- 12. Django और urls.py: मैं एक नामित यूआरएल के माध्यम से HttpResponseRedirect कैसे कर सकता हूं?
- 13. मैं केकेपीएचपी में सत्र डेटा कैसे बना सकता हूं, लिख सकता हूं और पढ़ सकता हूं?
- 14. मैं एक सरणी में समान मानों को कैसे गिन सकता हूं और इसे एक चर में संग्रहीत करता हूं?
- 15. रूबी में वेरिएबल नाम के रूप में एक चर का उपयोग कैसे कर सकता हूं?
- 16. मैं Django में सभी विचारों से एक मानक, स्थैतिक चर कैसे पारित कर सकता हूं?
- 17. मैं एक क्षैतिज रेखा कैसे खींच सकता हूं और इसे केन्द्रित कर सकता हूं?
- 18. क्या मैं अनंत सीमा का उपयोग कर सकता हूं और इसे संचालित कर सकता हूं?
- 19. मैं django मॉडल में विधि कैसे प्राप्त कर सकता हूं?
- 20. क्या मैं एक एआरसी ढांचा तैयार कर सकता हूं और इसे गैर-एआरसी परियोजना में उपयोग कर सकता हूं?
- 21. क्या मैं .config फ़ाइल बना सकता हूं और इसे web.config में शामिल कर सकता हूं?
- 22. मैं चर में जटिल स्ट्रिंग कैसे कर सकता हूं?
- 23. django-haystack ऑर्डरिंग - मैं इसे कैसे संभाल सकता हूं?
- 24. मैं MATLAB में वैश्विक चर कैसे सूचीबद्ध कर सकता हूं?
- 25. svn में, क्या मैं एक बदलाव वापस कर सकता हूं और इसे बाद में शेल्फ कर सकता हूं?
- 26. मैं HTML स्निपेट में टेक्स्ट नोड्स कैसे ढूंढ सकता हूं?
- 27. मैं AJAX ऐप में अप्रयुक्त सीएसएस कैसे ढूंढ सकता हूं?
- 28. मैं Django ModelForm में फ़ील्ड कैसे ऑर्डर कर सकता हूं?
- 29. मैं एलएलवीएम में वैश्विक चर कैसे घोषित कर सकता हूं?
- 30. स्कैला: मैं सुपरक्लास पर क्लोन विधि कैसे कार्यान्वित कर सकता हूं, और इसे सबक्लास में उपयोग कर सकता हूं?
Django 1.4 के रूप में, यह अब काम नहीं करता है। –
@VebjornLjosa क्या करता है? – aehlke
@Aehike: @ request.session._session_key' @Vinicius – hughes