كيف يمكنني الوصول إلى بيانات الجلسة في قوالب Jinja2 (إطار زجاجة على محرك التطبيق)؟

StackOverflow https://stackoverflow.com/questions/2554174

سؤال

أنا أدير الإطار الصغير زجاجة على محرك تطبيق Google. أنا استخدم Jinja2 لقوالب بلدي. وأنا أستخدم الكأس للتعامل مع الجلسات. ما زلت مبتدئًا كبيرًا في بيثون وأشعر بالضيق إلى حد بعيد ، لقد حصلت على هذا الوقت :) سؤالي هو كيف يمكنني الوصول إلى بيانات الجلسة داخل القوالب؟ يمكنني الحصول على بيانات الجلسة لا توجد مشكلة ضمن رمز Python الفعلي. ويمكنني تمرير بيانات الجلسة في كل مرة أدعو فيها قالب Jinja. ولكن بما أنني بحاجة إلى بيانات الجلسة في شريط القائمة الرئيسي للموقع ... فهذا يعني أنني سأضطر إلى تمريرها على كل صفحة. هل يعرف أحد ما إذا كان بإمكاني الوصول إليها مباشرة في القوالب؟

على سبيل المثال ، أحتاج إلى بيانات الجلسة لروابط Header الخاصة بي:

الصفحة الرئيسية | الأسئلة الشائعة | تسجيل الدخول

أو

الصفحة الرئيسية | الأسئلة الشائعة | تسجيل خروج

أي مساعدة يحظى بتقدير كبير! :د

هل كانت مفيدة؟

المحلول

يمكنك إضافة أشياء إلى Jinja2 البيئة العالمية إذا كنت تريد أن تكون في متناول جميع القوالب. يرى هذه الصفحة للحصول على معلومات إضافية.

تحديث:

مثال بسيط هو ، لرمز الإعداد الخاص بك:

from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('yourapplication', 'templates'))

ثم ، في رمز معالجة الطلب الخاص بك:

env.globals['session'] = session # Your session
# Your template can contain things like {{ session['key'] }}
template = env.get_template('mytemplate.html')
print template.render(the='variables', go='here')
#return response using rendered data
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top