Después de tener éxito en la etapa de desarrollo para servir los medios cargados (imágenes) y verlos en las páginas, estoy luchando para lograr esto en el servidor de producción y la implementación me parece demasiado difícil. Al usar la plataforma Pythoneverywhere, siempre obtengo un error de no encontrado:
2017-05-01 19:22:48,923: No encontrado: /media/Soy título/31.jpeg
no solo por esta imagen en particular, por cada imagen que subo.
aquí está mi archivo de configuración (algunos detalles no son necesarios aquí):
import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) DEBUG = False STATIC_URL = '/static/' # origin of permanent static files STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn") # temporarly loc MEDIA_URL = "/media/" MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media") STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), #'/var/www/static/', ]Aquí está mi archivo wsgi mport os
from django.core.wsgi import get_wsgi_application from django.contrib.staticfiles.handlers import StaticFilesHandler os.environ.setdefault("DJANGO_SETTINGS_MODULE", "flog.settings") application = get_wsgi_application() application = StaticFilesHandler(application)Simplemente no funciona, he intentado agregar esta línea (que no se recomienda como en los documentos)
static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)Todavía no resuelve el problema. Sin embargo, cuando navego por la plataforma, puedo encontrar los medios cargados en la carpeta de destino.
Han pasado 2 días. Solo intento implementar la aplicación y dejar que funcione. No pude.
Me di cuenta de que me había perdido uno de los subdirectorios para llegar al directorio que quiero (como se muestra en la imagen)... ¡finalmente!