Localización y resolución de problemas¶
Esta página contiene algunos consejos sobre los errores y problemas que se encuentran comúnmente durante el desarrollo de las aplicaciones de Django.
Problemas ejecutando django-admin
¶
«comando no encontrado: django-admin»¶
django-admin debería estar en la ruta del sistema si usted instaló Django a través de python setup.py
. Si no está en su ruta, puede encontrarlo en site-packages/django/bin
, donde site-packages
es un directorio dentro de su instalación Python. Considere realizar enlaces simbólicos con django-admin desde algún lugar en su ruta, como /usr/local/bin
.
Si django-admin
no funciona pero django-admin.py
sí, usted está utilizando probablemente una versión de Django que no coincide con la versión de esta documentación. django-admin
es nuevo en Django 1.7.
Permisos de macOS¶
Si está utilizando macOS, podría ver el mensaje «permiso denegado» cuando intente ejecutar django-admin
. Esto se debe a que en los sistemas basados en Unix como macOS, un archivo se debe marcar como «ejecutable» antes de que se pueda ejecutar como programa. Para hacer esto, abra Terminal.app y vaya (utilizando el comando cd
) al directorio donde django-admin está instalado, después ejecute el comando sudo chmod +x django-admin
.
Miscelánea¶
Estoy obteniendo un UnicodeDecodeError
. ¿Qué estoy haciendo mal?¶
Esta clase de errores ocurre cuando una cadena de bytes que contiene secuencias no ASCII se transforma en una cadena Unicode y la codificación especificada es incorrecta. Por lo general, la salida se ve de la siguiente manera:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:
ordinal not in range(128)
La solución depende principalmente del contexto, sin embargo, aquí hay dos dificultades comunes que producen este error:
Su configuración regional del sistema puede ser una localización ASCII predeterminada, como la localización «C» en sistemas similares a UNIX (se puede comprobar con el comando
locale
). Si es así, consulte por favor la documentación del sistema para aprender cómo usted puede cambiar esta a una localización UTF-8.Usted creó cadenas de bytes planas que son fáciles de hacer en Python 2:
my_string = 'café'
Utilice el prefijo
u''
o mejor aún, añada la líneafrom __future__ import unicode_literals
en la parte superior de su archivo de modo que su código será compatible con Python 3.2 el cual no admite el prefijou''
.
Recursos relacionados: