আমি সচেতন যে আপনি সেশন ভেরিয়েবলগুলি ব্যবহার করে পেতে পারেন request.session['variable_name']তবে সেশনিডকে একইভাবে ভেরিয়েবল হিসাবে ধরার উপায় বলে মনে হয় না। এই কোথাও নথিভুক্ত করা হয়? আমি এটি খুঁজে পাচ্ছি না। আপনার সাহায্যের জন্য ধন্যবাদ!
উত্তর:
অনেক সহজ:
request.session.session_key
নোটটি কেবল তখনই উপস্থিত থাকবে যদি কোনও সেশন থাকে, কোনও কী থাকে না, সেশন হয় না। কোনও সেশন উপস্থিত থাকলে তা পরীক্ষা করতে আপনি এটি ব্যবহার করতে পারেন। আপনি যদি একটি সেশন তৈরি করতে চান, কল করুন
request.session.session_keyজাজানো 1.6 এ সূক্ষ্মভাবে কাজ করে।
request.session.session_keyজাজানো ১.7 এও দুর্দান্ত কাজ করে।
request.session._get_or_create_session_key()কারণ, এটি ঘটতে পারে যে এখনও কোনও আইডি নেই।
জ্যাঙ্গোতে> = 1.4 ব্যবহার করুন:
request.session._session_key
এটি হয় আপনি একটি সেশন আইডি পাবেন বা আপনার জন্য একটি তৈরি করবে। আপনি যদি এটি করেন তবে আপনি 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()
সেশন কীটি বিশ্বস্ততার সাথে পাওয়ার জন্য, আপনাকে অবশ্যই নিশ্চিত করতে হবে যে সেশনটি প্রথম তৈরি করা হয়েছে। ডকুমেন্টেশনে একটি .create()সেশন পদ্ধতি উল্লেখ করা হয়েছে , যা সেশন কী রয়েছে তা নিশ্চিত করার জন্য ব্যবহার করা যেতে পারে:
def my_view(request):
if not request.session.session_key:
request.session.create()
print(request.session.session_key)
জ্যাঙ্গো ১.৮ এ:
অনুরোধ.অ্যাসিওশন.অ্যাসিওন_কি
এবং
অনুরোধ.অ্যাসিওশন._সেশন_কি
উভয়ই সঠিকভাবে কাজ করে।
request.session._session_keyউত্তর অনুসারে