Soluções de Problemas¶
Essa página contém alguns conselhos sobre erros e problemas comumente encontrados durante o desenvolvimento de aplicações em Django.
Problemas ao rodar o django-admin
¶
“comando não encontrado: django-admin”¶
O django-admin deve estar no caminho do seu sistema caso tenha instalado o Django via: python setup.py
. Caso ele não esteja no seu caminho você pode encontrá-lo em site-packages/django/bin
, onde site-packages
é um diretório dentro do seu projeto em Python. Considere criar um link simbólico django-admin a partir de algum lugar em seu caminho, tal como /usr/local/bin
.
Se o django-admin
não funciona mas, django-admin.py
sim, você provavelmente está usando uma versão antiga do Django que não coincide com a versão desta documentação. django-admin
é novo no Django 1.7.
permissões do macOS¶
If you’re using macOS, you may see the message “permission denied” when
you try to run django-admin
. This is because, on Unix-based systems like
macOS, a file must be marked as “executable” before it can be run as a program.
To do this, open Terminal.app and navigate (using the cd
command) to the
directory where django-admin is installed, then
run the command sudo chmod +x django-admin
.
Variados¶
Estou recebendo um UnicodeDecodeError
. O que estou fazendo de errado?¶
Estas classes de erros acontecem quando um bytestring contendo sequências não-ASCII é transformado em uma sequência de caracteres Unicode e a codificação especificada está incorreta. A saída geralmente se parece com isso:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:
ordinal not in range(128)
A resolução depende principalmente do contexto, entretanto aqui estão as duas armadilhas comuns que produzem este erro:
O locale padrão do sistema pode estar definido como ASCII, como o locale “C” nos sistemas baseados em UNIX (você pode checar com o comando
locale
). Se este é o caso, por favor, consulte a documentação do sistema para aprender como mudar para o locale: UTF-8.Você criou um raw bytestrings, o que é fácil de fazer em Python 2:
my_string = 'café'
Use o prefixo
u''
ou até melhor, adicione a linhafrom __future__ import unicode_literals
no topo do arquivo para torná-lo compatível com Python 3.2, que não suporta o prefixou''
.
Recursos relacionados: