Estou usando o Django (versão 1.3) e esqueci o nome de usuário e a senha do administrador. Como redefinir os dois?
E é possível transformar um usuário normal em administrador e remover o status de administrador?
python manage.py changepassword <user_name>
manage.py createsuperuser
criar um segundo superusuário e exibir a lista de Usuários para encontrar o original. Em seguida, efetue login como o original e exclua o novo superusuário.python manage.py createsuperuser
criar outro superusuário, você poderá fazer login no admin e lembrar seu nome de usuário.Para conceder privilégios normais a um usuário, abra um shell
python manage.py shell
e tente:fonte
user.is_staff = True
Você pode tentar através do console:
use o seguinte script no shell
listará todos os superusuários do sistema. se você reconhecer seu nome de usuário da lista:
e você define uma nova senha (:
fonte
User.objects.filter(is_superuser=True)
pip install django-extensions
, adicione-oinstalled apps
e execute./manage.py shell_plus
. AUser
aula estará disponível e você poderápassword-change
.Você pode criar um novo superusuário com o
createsuperuser
comandofonte
Esta é uma pergunta muito boa.
python manage.py changepassword user_name
Exemplo: -
fonte
nova configuração deve ser executada primeiro
python manage.py createsuperuser
para criar o usuário. Parece que não há uma senha de nome de usuário padrão para fazer login no admin.fonte
Uma das melhores maneiras de recuperar o nome de usuário e a senha é visualizá-los e atualizá-los. O modelo de usuário fornece uma maneira perfeita de fazer isso.
Nesse caso, estou usando o Django 1.9
Imprimir uma lista dos usuários Para usuários do Python 2, use o comando "usuários de impressão". Para usuários do Python 3, use o comando "print (users)". O primeiro usuário geralmente é o administrador.
Selecione o usuário que você deseja alterar sua senha, por exemplo
"user = users[0]"
Defina a senha
user.set_password('name_of_the_new_password_for_user_selected')
Salve a nova senha
"user.save()"
Inicie o servidor e efetue login usando o nome de usuário e a senha atualizada.
fonte
manage.py changepassword
é que você não está restrito a quais senhas você pode ou não pode usar - não muito semelhante à porcaria de nome de usuário. (Isto é, em meu ambiente dev Eu não estou defendendo senhas mais fracas Você deve sempre usar senhas fortes na prod...)Você também pode ter respondido a uma pergunta incorreta e ter zero membros da equipe. Nesse caso, vá para o postgres:
Para corrigir, edite diretamente:
fonte
Duas maneiras de fazer isso:
O
changepassword
comando de gerenciamento :Ou (que amplia algumas respostas, mas funciona para qualquer modelo de usuário estendido) usando o shell django-admin da seguinte maneira:
Isso deve exibir o prompt de comando do shell da seguinte maneira:
Então você deseja o seguinte:
NB Por que respondi a esta pergunta com esta resposta?
Porque, como mencionado,
User = get_user_model()
funcionará para seus própriosUser
modelos personalizados . Usarfrom django.contrib.auth.models import User
entãoUser.objects.get(username='username')
pode gerar o seguinte erro:fonte
Se você esqueceu de criar usuário administrador, primeiro crie um com o
createsuperuser
comando ativadomanage.py
e altere a senha.fonte
Você pode tentar o seguinte:
1.Alterar senha do superusuário sem console
2.Altere a senha do superusuário através do console
fonte
Caso você não conheça os nomes de usuário criados aqui. Você pode obter os usuários conforme descrito por @FallenAngel acima.
No entanto, no caso em que você criou seu modelo de usuário independente. Um caso simples é quando você deseja usar o email como um nome de usuário em vez do nome de usuário padrão. Nesse caso, seu modelo de usuário mora em algum lugar como your_accounts_app.models, a solução acima não funcionará. Nesse caso, você pode usar o método get_user_model
fonte
Se você esquecer seu administrador, precisará criar um novo usuário usando
e para senha existe o comando da CLI
changepassword
para o django mudar a senha do usuárioOU
OU Execute este código no Django env
fonte
Outra coisa que vale a pena notar é definir o status do seu usuário
is_staff
como ativo. Pelo menos, é isso que faz funcionar para mim. Para mais detalhes, criei outrosuperuser
como as pessoas explicaram acima. Então vou à tabela do banco de dadosauth_user
e procuro esse nome de usuário para garantir que seuis_staff
sinalizador esteja definido como1
. Isso finalmente me permitiu entrar noadmin
site.fonte
Crie um novo superusuário com o comando "python manage.py createduperuser". Faça o login como o novo superusuário. Clique no link 'usuários'. Em seguida, clique no usuário que você deseja excluir. clique em excluir usuário no final da página do formulário.
Nota - O processo acima fará alterações nos logs de atividades feitos por esse usuário específico.
fonte
python manage.py changepassword nome de usuário
fonte
usar
então olhe para o final, você encontrará o nome de usuário
fonte
A melhor maneira é simplesmente ir ao seu terminal e digitar
e insira outra senha e nome de usuário novamente, mas você perderá parte do seu perfil que você criou antes na maioria dos casos.
fonte
Eu penso: o melhor caminho Na linha de comando
fonte
É muito fácil digitar este comando na sua linha de comando
python manage.py changepassword yourusername
fonte
Outra maneira de obter o nome de usuário (e a maioria das informações) é acessar o banco de dados diretamente e ler as informações das tabelas.
fonte