только что понял, что вы сказали, что вы забыли имя пользователя ... admin в качестве имени пользователя в моем ответе не сильно поможет!
Джеймс
8
@ user794916 Это довольно странный выбор, если вы не помните имя пользователя. :-)
DrTyrsa
1
Вы можете изменить имя пользователя с «admin» на другое имя пользователя. : D
mxi1
4
Джанго самый лучший. все так просто
DMTintner
5
Если вы забыли имя пользователя, вы можете manage.py createsuperuserсоздать второго суперпользователя, а затем просмотреть список пользователей, чтобы найти оригинальное. Затем войдите в систему как оригинальный и удалите нового суперпользователя.
шейкер
173
python manage.py createsuperuser создаст другого суперпользователя, вы сможете войти в систему администратора и запомнить ваше имя пользователя.
Да, почему бы и нет.
Чтобы дать обычному пользователю привилегии, откройте оболочку с помощью python manage.py shellи попробуйте:
from django.contrib.auth.models importUser
user =User.objects.get(username='normaluser')
user.is_superuser =True
user.save()
pip install django-extensions, добавить его installed appsи запустить ./manage.py shell_plus. UserКласс будет доступен и вы можете password-change.
Тимо
Этот метод позволяет пользователю установить любой пароль без какой-либо проверки. Таким образом, вы можете установить очень простой пароль (только для целей тестирования), который не допускается принятым методом ответа.
Гаутам J
23
Вы можете создать нового суперпользователя с помощью createsuperuserкоманды.
новая настройка должна сначала запускатьсяpython manage.py createsuperuser для создания пользователя. Похоже, что по умолчанию нет имени пользователя и пароля для входа в администратор.
Один из лучших способов восстановить имя пользователя и пароль - это просмотреть и обновить их. Модель пользователя предоставляет идеальный способ сделать это.
В этом случае я использую Django 1.9
Перейдите в корневой каталог i, e. где вы управляете файлом .py, используя консоль или другое приложение, такое как Git.
Получите оболочку Python с помощью команды "python manage.py shell".
Импортируйте пользовательскую модель, введя следующую команду «from django.contrib.auth.models import User»
Чтобы получить всех пользователей, введите следующую команду "users = User.objects.all ()"
Распечатайте список пользователей. Для пользователей Python 2 используйте команду «print users». Для пользователей Python 3 используйте команду «print (users)». Первым пользователем обычно является администратор.
Выберите пользователя, которому вы хотите изменить свой пароль, например
Преимущество этого метода в manage.py changepasswordтом, что вы не ограничены тем, какие пароли вы можете или не можете использовать - больше не похоже на дерьмовое имя пользователя. (Это в моей среде разработчиков. Я не защищаю более слабые пароли. Вы всегда должны использовать надежные пароли в продукт.)
Shashwat Black
5
Возможно, вы также неправильно ответили на вопрос о настройке и у вас ноль сотрудников. В этом случае отправляйтесь в postgres:
obvioustest=# \c [yourdatabasename]
obvioustest=# \x
obvioustest=#select*from auth_user;-[ RECORD 1]+-------------
id |1
is_superuser | f
is_staff | f
...
Или (который расширяет несколько ответов, но работает для любой расширенной модели User), используя оболочку django-admin следующим образом:
(env) $ python manage.py shell
Это должно вызвать командную строку оболочки следующим образом:
Python3.7.2(default,Mar272019,08:44:46)[GCC 6.3.020170516] on linux
Type"help","copyright","credits"or"license"for more information.(InteractiveConsole)>>>
Потому что, как уже упоминалось, User = get_user_model()будет работать для ваших собственных пользовательских Userмоделей. Использование from django.contrib.auth.models import Userthen User.objects.get(username='username')может вызвать следующую ошибку:
AttributeError:Manager isn't available; 'auth.User' has been swapped for 'users.User'
Использование скриншотов вместо написанного кода - очень плохая практика. Poeple не может скопировать и вставить ваш код для тестирования, и он не доступен для поиска по сайту
FallenAngel
3
В случае, если вы не знаете имена пользователей, созданные здесь. Вы можете получить пользователей, как описано выше @FallenAngel.
python manage.py shell
from django.contrib.auth.models importUser
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
Еще одна вещь, на которую стоит обратить внимание - это установить статус вашего пользователя is_staffкак активный. По крайней мере, это то, что заставляет меня работать. Для более подробной информации, я создал другой, superuserкак люди объяснили выше. Затем я перехожу к таблице базы данных auth_userи ищу это имя пользователя, чтобы убедиться, что его is_staffфлаг установлен в 1. Это, наконец, позволило мне войти на adminсайт.
Создайте нового суперпользователя с помощью команды «python manage.py createuperuser». Войдите в систему как новый супер пользователь. Нажмите на ссылку «пользователи». Затем нажмите на пользователя, которого хотите удалить. нажмите на удалить пользователя в конце страницы формы.
Примечание. Приведенный выше процесс внесет изменения в журналы активности, выполненные этим конкретным пользователем.
manage.py createsuperuser
создать второго суперпользователя, а затем просмотреть список пользователей, чтобы найти оригинальное. Затем войдите в систему как оригинальный и удалите нового суперпользователя.python manage.py createsuperuser
создаст другого суперпользователя, вы сможете войти в систему администратора и запомнить ваше имя пользователя.Чтобы дать обычному пользователю привилегии, откройте оболочку с помощью
python manage.py shell
и попробуйте:источник
user.is_staff = True
Вы можете попробовать через консоль:
затем используйте следующий скрипт в оболочке
перечислит вас всех суперпользователей в системе. если вы узнаете свое имя пользователя из списка:
и вы установили новый пароль (:
источник
User.objects.filter(is_superuser=True)
pip install django-extensions
, добавить егоinstalled apps
и запустить./manage.py shell_plus
.User
Класс будет доступен и вы можетеpassword-change
.Вы можете создать нового суперпользователя с помощью
createsuperuser
команды.источник
Это очень хороший вопрос.
python manage.py changepassword имя_пользователя
Пример :-
источник
новая настройка должна сначала запускаться
python manage.py createsuperuser
для создания пользователя. Похоже, что по умолчанию нет имени пользователя и пароля для входа в администратор.источник
Один из лучших способов восстановить имя пользователя и пароль - это просмотреть и обновить их. Модель пользователя предоставляет идеальный способ сделать это.
В этом случае я использую Django 1.9
Распечатайте список пользователей. Для пользователей Python 2 используйте команду «print users». Для пользователей Python 3 используйте команду «print (users)». Первым пользователем обычно является администратор.
Выберите пользователя, которому вы хотите изменить свой пароль, например
"user = users[0]"
Установить пароль
user.set_password('name_of_the_new_password_for_user_selected')
Сохранить новый пароль
"user.save()"
Запустите сервер и войдите в систему, используя имя пользователя и обновленный пароль.
источник
manage.py changepassword
том, что вы не ограничены тем, какие пароли вы можете или не можете использовать - больше не похоже на дерьмовое имя пользователя. (Это в моей среде разработчиков. Я не защищаю более слабые пароли. Вы всегда должны использовать надежные пароли в продукт.)Возможно, вы также неправильно ответили на вопрос о настройке и у вас ноль сотрудников. В этом случае отправляйтесь в postgres:
Чтобы исправить, отредактируйте напрямую:
источник
Два способа сделать это:
Команда
changepassword
управления :Или (который расширяет несколько ответов, но работает для любой расширенной модели User), используя оболочку django-admin следующим образом:
Это должно вызвать командную строку оболочки следующим образом:
Тогда вы хотели бы следующее:
NB. Почему я ответил на этот вопрос этим ответом?
Потому что, как уже упоминалось,
User = get_user_model()
будет работать для ваших собственных пользовательскихUser
моделей. Использованиеfrom django.contrib.auth.models import User
thenUser.objects.get(username='username')
может вызвать следующую ошибку:источник
Если вы забыли создать пользователя с правами администратора, сначала создайте его с помощью
createsuperuser
команды, аmanage.py
затем измените пароль.источник
Вы можете попробовать это:
1. Изменить пароль суперпользователя без консоли
2. Измените пароль суперпользователя через консоль
источник
В случае, если вы не знаете имена пользователей, созданные здесь. Вы можете получить пользователей, как описано выше @FallenAngel.
Однако в том случае, если вы создали свою модель независимого пользователя. Простой случай, когда вы хотите использовать электронную почту в качестве имени пользователя вместо имени пользователя по умолчанию. В этом случае ваша пользовательская модель живет где-то, например your_accounts_app.models, тогда вышеуказанное решение не будет работать. В этом случае вы можете вместо этого использовать метод get_user_model
источник
если вы забыли своего администратора, то вам нужно создать нового пользователя с помощью
и для пароля есть команда CLI
changepassword
для django, чтобы изменить пароль пользователяИЛИ
ИЛИ Запустите этот код в Django env
источник
Еще одна вещь, на которую стоит обратить внимание - это установить статус вашего пользователя
is_staff
как активный. По крайней мере, это то, что заставляет меня работать. Для более подробной информации, я создал другой,superuser
как люди объяснили выше. Затем я перехожу к таблице базы данныхauth_user
и ищу это имя пользователя, чтобы убедиться, что егоis_staff
флаг установлен в1
. Это, наконец, позволило мне войти наadmin
сайт.источник
Создайте нового суперпользователя с помощью команды «python manage.py createuperuser». Войдите в систему как новый супер пользователь. Нажмите на ссылку «пользователи». Затем нажмите на пользователя, которого хотите удалить. нажмите на удалить пользователя в конце страницы формы.
Примечание. Приведенный выше процесс внесет изменения в журналы активности, выполненные этим конкретным пользователем.
источник
python manage.py changepassword имя пользователя
источник
использование
затем посмотрите в конце вы найдете имя пользователя
источник
Лучший способ - просто зайти в свой терминал и набрать
и еще раз введите другой пароль и имя пользователя, но в большинстве случаев вы потеряете часть своего профиля, созданного вами ранее.
источник
Я думаю, что лучше в командной строке
источник
Это очень просто, просто введите эту команду в командной строке yout
python manage.py changepassword имя пользователя
источник
Другой способ получить имя пользователя (и большую часть информации) - получить прямой доступ к базе данных и прочитать информацию из таблиц.
источник