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

السؤال

نشر

أنا أستخدم جانغو Django وقد نسيت اسم المستخدم وكلمة المرور الخاصين بالحساب المسؤول. كيفية إعادة تعيين كليهما؟

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

Recommended Posts

  • 0
نشر (معدل)

يمكنك انشاء مستخدم جديد عن طريق هذا الأمر 

python manage.py createsuperuser

ويمكنك العثور أيضا على المستخدم المفقود عن طريق الخطوات الاتية:

  1. أدخال الامر الاتى فى الconsole من أجل فتح صدفية البايثون 
  2. python manage.py shell
  3. من ثم قم بكتابة الScript الأتى فى الصدفية 
    from django.contrib.auth.models import User
    User.objects.filter(is_superuser=True)

    من خلال هذا الأمر سيتم طباعة جميع المستخدمين اللذى فى حالة مسؤول

  4. يمكنك بعدها ان تعثر على اسم المستخدم اللذى نسيته وتقم بتعيين كلمة مرور جديدة عن طريق الامر الأتي

    usr = User.objects.get(username='your username')
    usr.set_password('raw password')
    usr.save()

    او من الممكن ان تكتب الامر الأتي بدلا منه فى الconsole 

  5. python manage.py changepassword <user_name>

    وتستبدل حقل <user_name> بأسم المستخدم اللذي عثرت عليه من الكود المدمج فى خطوة رقم 4

تم التعديل في بواسطة شرف الدين2
خطأ فى الكتابة بدون قصد
  • 0
نشر

افتح shell Django ، وانتقل إلى المجلد حيث يوجد ملف manager.py. يمكنك استخدام الأمر ls للتحقق من وجود ملف manager.py في الدليل الحالي. ثم قم بتشغيل هذا الأمر لفتح  Django shell .

python manage.py shell

لإعادة تعيين كلمة مرور المستخدم ، يجب أولاً استيراد نموذج المستخدم. إذا كنت تستخدم نموذج مستخدم Django الافتراضي ، فيمكن استخدام الكود التالي لاستيراد نموذج المستخدم.

from django.contrib.auth.models import User

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

from accounts.models import User

استبدل accounts باسم التطبيق و User باسم نموذج المستخدم الخاص بك.

يمكننا أيضًا استخدام طريقة get_user_model () التي يوفرها Django للوصول إلى نموذج المستخدم.

from django.contrib.auth import get_user_model
User  = get_user_model()

يمكن جلب جميع حسابات المسؤول عن طريق تمرير is_superuser = المعلمة الحقيقية إلى طريقة التصفية.

users = User.objects.filter(is_superuser=True)

يمكننا استخدام طريقة set_password () لإعادة تعيين كلمة مرور أي مستخدم.

user.set_password('new_password')

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...