Відповіді:
python manage.py changepassword <user_name>
manage.py createsuperuser
створити другий суперпользователь, а потім переглянути список Користувачів, щоб знайти його. Потім увійдіть як оригінал та видаліть новий суперпользователь.
python manage.py createsuperuser
створить іншого суперпользователя, ви зможете увійти в систему адміністратора і запам'ятати своє ім’я користувача.Щоб надати звичайні права користувача, відкрийте оболонку python manage.py shell
і спробуйте:
from django.contrib.auth.models import User
user = User.objects.get(username='normaluser')
user.is_superuser = True
user.save()
user.is_staff = True
Ви можете спробувати через консоль:
python manage.py 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()
і ви встановлюєте новий пароль (:
User.objects.filter(is_superuser=True)
pip install django-extensions
, додайте його installed apps
і запустіть ./manage.py shell_plus
. User
Клас буде доступний і ви можете password-change
.
Ви можете створити новий суперпользователь з createsuperuser
командою.
Один з найкращих способів отримати ім’я користувача та пароль - це їх перегляд та оновлення. Модель користувача пропонує ідеальний спосіб зробити це.
Роздрукувати список користувачів Для користувачів Python 2 використовується команда "друкувати користувачів" Для користувачів Python 3 використовується команда "друкувати (користувачі)" Першим користувачем зазвичай є адміністратор.
Виберіть користувача, якому ви хочете змінити свій пароль, наприклад
"user = users[0]"
Встановити пароль
user.set_password('name_of_the_new_password_for_user_selected')
Збережіть новий пароль
"user.save()"
Запустіть сервер та увійдіть, використовуючи ім’я користувача та оновлений пароль.
manage.py changepassword
тому, що ви не обмежуєтесь паролями, які ви можете або не можете використовувати - не більше схожих на лайно користувача. (Це в моєму середовищі розробників. Я не захищаю більш слабкі паролі. Ви завжди повинні використовувати надійні паролі у
Ви також можете відповісти на запитання про налаштування неправильно та мати нульовий склад персоналу. У такому випадку перейдіть до постгресів:
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;
Два способи зробити це:
Команда changepassword
управління :
(env) $ python manage.py changepassword <username>
Або (який розширюється на кілька відповідей, але працює для будь-якої розширеної моделі користувача), використовуючи оболонку django-admin наступним чином:
(env) $ python manage.py shell
Це має вивести командний рядок оболонки таким чином:
Python 3.7.2 (default, Mar 27 2019, 08:44:46)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>
Тоді вам потрібно наступне:
>>> from django.contrib.auth import get_user_model
>>> User = get_user_model()
>>> user = User.objects.get(username='admin@hug.com')
>>> user.set_password('new password')
>>> user.save()
>>> exit()
NB Чому я відповів на це питання саме цією відповіддю?
Тому що, як було сказано, User = get_user_model()
буде працювати для ваших власних замовлених User
моделей. Використання from django.contrib.auth.models import User
тоді User.objects.get(username='username')
може призвести до наступної помилки:
AttributeError: Manager isn't available; 'auth.User' has been swapped for 'users.User'
Якщо ви забули створити користувача адміністратора, спочатку побудуйте його з createsuperuser
командою, manage.py
а потім змініть пароль.
Ви можете спробувати це:
1.Змініть пароль Superuser без консолі
python manage.py changepassword <username>
2.Змініть пароль Superuser через консоль
Якщо ви не знаєте імен користувачів, створених тут. Ви можете отримати користувачів, як описано вище @FallenAngel.
python manage.py shell
from django.contrib.auth.models import User
usrs = User.objects.filter(is_superuser=True)
#identify the user
your_user = usrs.filter(username="yourusername")[0]
#youruser = usrs.get(username="yourusername")
#then set the password
Однак у випадку, якщо ви створили свою незалежну модель користувача. Простий випадок, коли ви хочете використовувати електронну пошту як ім'я користувача, а не ім'я користувача за замовчуванням. У такому випадку ваша модель користувача живе десь на зразок your_accounts_app.models, тоді вищезгадане рішення не працюватиме. У цьому випадку ви можете замість цього використовувати метод get_user_model
from django.contrib.auth import get_user_model
super_users = get_user_model().objects.filter(is_superuser=True)
#proceed to get identify your user
# and set their user password
якщо ви забудете свого адміністратора, вам потрібно створити нового користувача за допомогою
python manage.py createsuperuser <username>
а для пароля є команда CLI changepassword
для django для зміни пароля користувача
python manage.py changepassword <username>
АБО
django-admin changepassword <username>
АБО Запустіть цей код у Django env
from django.contrib.auth.models import User
u = User.objects.get(username='john')
u.set_password('new password')
u.save()
Ще одна річ, яку варто зазначити - це встановити статус вашого користувача is_staff
як активного. Принаймні, саме це змушує мене працювати. Для більш детальної інформації я створив інший, superuser
як пояснили люди вище. Потім я переходжу до таблиці бази даних auth_user
і шукаю це ім’я користувача, щоб переконатися, що його is_staff
прапор встановлений 1
. Це нарешті дозволило мені увійти на admin
сайт.
Створіть новий суперпользователь із командою "python management.py createuperuser". Увійдіть як новий суперкористувач. Клацніть на посилання "користувачі". Потім натисніть на користувача, якого потрібно видалити. натисніть на видалити користувача в кінці сторінки форми.
Примітка. Вищенаведений процес внесе зміни до журналів активності, зроблених саме цим користувачем.
python Manag.py ім'я користувача змінити слово
використання
python management.py дампдати
потім подивіться в кінці ви знайдете ім’я користувача
Я думаю, кращий спосіб У командному рядку
python Manag.py створює перетворювач