django - للبريد - لقد نسيت كلمة المرور gmail




كيفية إعادة ضبط كلمة مرور المشرف على Django؟ (10)

أنا أستخدم Django (الإصدار 1.3) ونسيت كل من اسم المستخدم وكلمة المرور للمشرف. كيفية إعادة ضبط كلا؟

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


  1. python manage.py createsuperuser آخر ، ستتمكن من تسجيل الدخول إلى المشرف وإعادة تسمية اسم المستخدم الخاص بك.
  2. نعم لما لا.

لمنح امتيازات المستخدم العادية ، افتح shell مع shell python manage.py shell وحاول:

from django.contrib.auth.models import User
user = User.objects.get(username='normaluser')
user.is_superuser = True
user.save()

python manage.py changepassword username


إنشاء مستخدم جديد متميز باستخدام الأمر "python manage.py createduperuser". تسجيل الدخول كمستخدم متميز جديد. انقر على رابط "المستخدمون". ثم انقر على المستخدم الذي تريد حذفه. انقر فوق حذف المستخدم في نهاية صفحة النموذج.

ملاحظة - ستقوم العملية المذكورة أعلاه بإجراء تغييرات على سجلات الأنشطة التي قام بها ذلك المستخدم المحدد.


شيء آخر يستحق الذكر هو تعيين حالة المستخدم الخاص بك is_staff كما نشط. على الأقل ، هذا ما يجعله يعمل لي. لمزيد من التفاصيل ، خلقت superuser آخر كما أوضح الناس أعلاه. ثم أذهب إلى auth_user جدول قاعدة البيانات وابحث عن ذلك اسم المستخدم للتأكد من تعيين is_staff إلى 1 . هذا أخيرا سمح لي بتسجيل الدخول إلى موقع admin .


قد تحاول من خلال وحدة التحكم:

python manage.py shell

ثم استخدم النص التالي في shell

from django.contrib.auth.models import User
User.objects.filter(is_superuser=True)

سوف تدرج جميع المستخدمين الفائقين على النظام. إذا كنت تعرف اسم المستخدم الخاص بك من القائمة:

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

وقمت بتعيين كلمة مرور جديدة (:


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

obvioustest=# \c [yourdatabasename]
obvioustest=# \x
obvioustest=# select * from auth_user;
-[ RECORD 1 ]+-------------
id           | 1
is_superuser | f
is_staff     | f
...

لإصلاح ذلك ، يمكنك التعديل مباشرة:

update auth_user set is_staff='true' where id=1;

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

في هذه الحالة ، أستخدم تطبيق Django 1.9

  1. انتقل إلى الدليل الجذر i ، e. حيث يوجد ملف "manage.py" الخاص بك باستخدام وحدة التحكم الخاصة بك أو أي تطبيق آخر مثل Git.
  2. استرجاع قذيفة بايثون باستخدام الأمر "python manage.py shell".
  3. استيراد "نموذج المستخدم" بكتابة الأمر التالي "من django.contrib.auth.models import user"
  4. الحصول على جميع المستخدمين عن طريق كتابة الأمر التالي "user = User.objects.all ()"
  5. طباعة قائمة بالمستخدمين بالنسبة لمستخدمي Python 2 استخدم الأمر "print users" بالنسبة لمستخدمي Python 3 ، استخدم الأمر "print (users)". المستخدم الأول هو المسؤول عادةً.

  6. حدد المستخدم الذي ترغب في تغيير كلمة المرور الخاصة به على سبيل المثال

    "user = users[0]"

  7. اضبط كلمة المرور

    user.set_password('name_of_the_new_password_for_user_selected')

  8. احفظ كلمة المرور الجديدة

    "user.save()"

ابدأ تشغيل الخادم وقم بتسجيل الدخول باستخدام اسم المستخدم وكلمة المرور المحدثة.


يجب أن يقوم الإعداد الجديد أولاً بتشغيل python manage.py createsuperuser لإنشاء المستخدم. يبدو أنه لا يوجد كلمة مرور اسم المستخدم الافتراضية لتسجيل الدخول إلى المشرف.


يمكنك تجربة هذا:

1.Current الخارق كلمة المرور دون وحدة التحكم

python manage.py changepassword <username>

2.Current الخارق كلمة المرور من خلال وحدة التحكم








admin