كيف يمكنني تعيين متغيرات الجلسة في تسجيل الدخول باستخدام تسجيل Django و Auth؟

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

سؤال

أنا أستخدم تسجيل Django لتسجيل المستخدمين في طلبي. هذا الجزء يعمل بشكل جيد. الجزء الذي لا يمكنني اكتشافه هو كيفية تعيين متغيرات الجلسة المخصصة عند تسجيل الدخول إلى المستخدم. على سبيل المثال ، أود ملء المتغيرات التي تحتوي على بيانات مستخدم بالإضافة إلى إخراج بعض الوظائف الأخرى. ثم سأكون قادرًا على استخدام هذه المعلومات في طرق العرض/القوالب اللاحقة.

إذا كان بإمكان أي شخص أن يوجهني إلى برنامج تعليمي عبر الإنترنت أو نشر بعض رمز النماذج ، فسيكون ذلك رائعًا.

أنا أستخدم Django 1.1 و Python 2.6

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

المحلول

إذا كنت لا ترغب في التخزين المستمر لبيانات المستخدم (فقط بيانات جلسة إضافية) ، فقم بإلقاء نظرة على:

http://docs.djangoproject.com/en/dev/topics/http/sessions/

من المحتمل أن يتم تمكين إطار Sessions بالفعل إذا كنت تستخدم django.contrib.auth.

إذا كنت تريد تخزينًا مستمرًا لبيانات المستخدم الإضافية (ليس فقط في جلسة ، ولكن في قاعدة البيانات) ، فسوف تقوم بتخزينها في نموذج "ملف تعريف" آخر:

http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users

نصائح أخرى

أدرك أن STEFANW قدم لك حلاً بديلاً ، ولكن للإجابة على السؤال الأصلي:

يعد إعداد بيانات الجلسة في تسجيل الدخول أمرًا صعبًا لأن أسهل مكان لتعيين هذه البيانات في وظيفة العرض الخاصة بك ، ووظيفة العرض المعينة التي تريد تعديلها هي جزء من تطبيق Contrib.django.auth.

لذلك ستكون خياراتك هي ما يلي:

  • قم بإنشاء فئة صغيرة من البرامج الوسطى لتعيين بيانات الجلسة الخاصة بك.
  • قم بإنشاء علامة قالب أو جزء آخر من التعليمات البرمجية مما يمكن دمجه في قالب تسجيل الدخول أو الصفحة اللاحقة التي ستقوم بتعيين البيانات التي تريدها.
  • اكتب وظيفة عرض تسجيل الدخول المخصصة الخاصة بك (من السهل جدًا حقًا ، في الواقع).

سعيد Django-ing!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top