سؤال

لذلك ، لدي مشروع Django يستخدم عرض Jinja2 ، كما قمت بتثبيت تسجيل Django لجعل حياتي أسهل. واجهت المشكلة التالية:

الذهاب إلى الصفحة الرئيسية أقدمها مع Jinja. من أجل التحقق من المصادقة ، يجب أن أستخدم بناء جملة Jinja ، وهو user.is_authenticated (). ومع ذلك ، في templating django العادية ، يتم إجراء هذا الشيك باستخدام user.is_authenticated. إذا كان هناك () في templating django () ، فإنه يعطي خطأ.

لذا ، عند الانتقال إلى/الحسابات/تسجيل الدخول/الصفحة ، لا يفعل Modul Django-Registration أي شيء خاص ، لذلك يقوم بإعادة توجيه عنوان URL إلى عرض Django القياسي بالطريقة التالية:

from django.contrib.auth import views as auth_views

url(r'^login/$',
auth_views.login,
{'template_name': 'registration/login.html'},
name='auth_login'),

لذلك أنا أعلم بالتأكيد أنني لا ينبغي أن أقوم بتغيير طريقة عرض django.contrib.auth ، ولكن أين أضع وجهة نظري الخاصة؟ في myapp/views.py؟

وأيضًا ، هل يجب علي نسخ لصق طريقة عرض Django ، ثم التعديل فوقه (في هذه الحالة ببساطة استبدال العرض بـ Render_jinja) أو هل هناك طريقة لتوسيع "طريقة عرض Django الأصلية هذه إلى طريقة العرض المعدلة الخاصة بي قليلاً لتسجيل الدخول؟

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

المحلول

سواء أكان ذلك صحيحًا أو خطأ ، في وحدة التسجيل ، قمت برؤية جديدة ، تعاملت مع التسجيل ، ونسخ بضعة أسطر من هنا وهناك. إنه منطقي ويبدو أنه يعمل بشكل جيد.

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