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 Mac OS X

Si usted está utilizando Mac OS X, podría ver el mensaje “permiso denegado” cuando intenta ejecutar django-admin. Esto se debe a que en los sistemas basados en Unix como OS X, un archivo se debe marcar como “ejecutable” antes de que se pueda ejecutar como un 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ínea from __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 prefijo u''.

Recursos relacionados:

Back to Top