اذهب إلى المحتوى

السؤال

نشر

أريد تقييد الوصول إلى عناوين URL التي يتم التعامل معها بواسطة ملفات العرض لجانغو Django Views.

أعلم أن هناك المزخرف login_required decorator الذي يقوم بهذه المهمة.

from django.contrib.auth.decorators import login_required

@login_required
def myView(request):
    # ...

ولكن لم أتمكن من العثور على طريقة لإعادة توجيه المستخدم إلى صفحة أخرى مثل صفحة تسجيل الدخول أو تسجيل حساب جديد في حالة لم يكن المستخدم مُسجل في الموقع، كيف أقوم بهذا الأمر؟

Recommended Posts

  • 1
نشر

عندما نٌريد حصر الوصول إلى URL ما فقط للمستخدمين المُسجلين نستخدم الزخرفة (decorator) login_required فوق الدالة ولإعادة توجيه المستخدم إلى صفحة تسجيل الدخول نقوم ب:

  • إضافة LOGIN_URL إلى ملف الإعدادات الخاص بمشروعنا في Django
    LOGIN_URL='/path/to/url' #هنا أكتب رابط صفحة تسجيل الدخول

     

  • أو عن طريق تمرير قيمة login_url إلى الزخرفة login_required

    @login_required(login_url='أضف هنا رابط صفحة تسجيل الدخول')
    def my_view(request):
        ...

     

في حالة ما إذا كنا نستخدم صنف  (Class) كجانغو View

class MyView(View):
    ....

وأردنا حصر إستخدامها فقط للمستخدمين المسجلين يُمكننا استعمال LoginRequiredMixin على الشكل التالي:

from django.contrib.auth.mixins import LoginRequiredMixin

class MyView(LoginRequiredMixin, View):
    login_url = '/login/' #هنا نقوم بإضافة صفحة تسجيل الدخول 

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...