Confundido acerca de la configuración de django-avatar para almacenar avatar

Editar: Algunas ediciones aleatorias parecen funcionar, pero no entiendo cómo.

Acabo de "instalar" la aplicación django-avatar en mi proyecto django. (actualmente, está en desarrollo, así que estoy usando el servidor que viene con django)

Sin embargo. después de subir un avatar, no puedo encontrar el avatar en ninguna carpeta ni se muestra. Soy nuevo en django y python, así que no sé qué hacer o qué parte de mi código publicar. No tengo ni idea. He configurado una URL, en la que los archivos estáticos son el servidor (a través de django.views.static.serve)

url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),

(la configuración es importada)

Sin embargo. Siento que esto está mal. Me gustaría que me guiaran.

Configuración relacionada con medios / estática:

MEDIA_ROOT = 'd:/a4m/media/'
MEDIA_URL = '/media/'
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (('d:/a4m/static/'),)

En cuanto a las plantillas, solo estoy usando las que proporciona django-avatar.

preguntado el 09 de marzo de 12 a las 15:03

Agregue su configuración relacionada con cualquier elemento multimedia / estático. También sería útil ver el código en su plantilla donde está intentando cargar la imagen. -

@ChrisPratt Agregó lo que quisiera. -

1 Respuestas

Primero, no agregue el directorio estático de su proyecto a STATICFILES_DIRS. No debería poner nada manualmente en ese directorio, por lo que no hay razón para servirlo en el desarrollo (razón por la cual Django no lo hace de forma predeterminada). Además, no creo que esté relacionado con este problema, pero STATIC_ROOT necesita un valor real, que debería ser en su caso:

STATIC_ROOT = 'd:/a4m/static/'

Dicho esto, dos cosas al mirar la fuente de django-avatar:

  1. Utiliza una configuración llamada AVATAR_STORAGE_DIR, por lo que probablemente debería definir eso si no lo ha hecho. Parece que lo siguiente sería sensato:

    AVATAR_STORAGE_DIR = MEDIA_ROOT + 'avatars/'
    
  2. Si, por alguna razón, el avatar no se puede escribir en el sistema de archivos, django-avatar regresa silenciosamente. Por lo tanto, verificaría cosas como los permisos para asegurarme de que Django no tendrá problemas para escribir en ningún directorio en AVATAR_STORAGE_DIR.

Con suerte, eso será suficiente para avanzar en la depuración de este problema.

respondido 09 mar '12, 16:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.