Django: مشكلة وجهات النظر مع Django + Django-registration + Jinja
-
29-09-2019 - |
سؤال
لذلك ، لدي مشروع 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 الأصلية هذه إلى طريقة العرض المعدلة الخاصة بي قليلاً لتسجيل الدخول؟
المحلول
سواء أكان ذلك صحيحًا أو خطأ ، في وحدة التسجيل ، قمت برؤية جديدة ، تعاملت مع التسجيل ، ونسخ بضعة أسطر من هنا وهناك. إنه منطقي ويبدو أنه يعمل بشكل جيد.