¿Por qué recibo direcciones URL absolutas en el Satchmo al cargar imágenes de los productos a nivel local?

StackOverflow https://stackoverflow.com/questions/732563

Pregunta

Me estoy haciendo un poco de desarrollo local utilizando Django y Satchmo. Al cargar imágenes de los productos a nivel local a través de la administración, la ruta de la imagen se muestra como una ruta absoluta, con letra de la unidad, en lugar de la ruta relativa correcta.

Más extraño aún, Satchmo ahorra la imagen original y las imágenes en miniatura que genera tanto en mi directorio de directorio y /media/ /media/images/, siendo este último donde I quiero que se vayan.

La configuración relavent son los siguientes:

# path relative to the settings.py file
DIRNAME = os.path.abspath(os.path.dirname(__file__).decode('utf-8'))

MEDIA_ROOT = os.path.join(DIRNAME, 'media')
MEDIA_URL = 'http://localhost:8000/'
ADMIN_MEDIA_PREFIX = '/media/'

Tengo triple comprueba el archivo local_settings.py y no hay ninguna mención de la palabra 'medios' en cualquier parte de ella, así que estoy seguro de que no hay anula la configuración.

Si ayuda, estoy en Windows, pero estoy usando toda la notación adecuada Unix por mis caminos.

¿Fue útil?

Solución 2

Ahora resulta que el problema es un problema con las direcciones de la raya vertical en el archivo settings.py.

Por lo general, se crea una función relative_path() en mi archivo settings.py por lo que fácilmente se puede establecer:

MEDIA_ROOT = absolute_path('media')

La versión de Satchmo estaba usando alentó el uso de un DIRNAME establecer en su lugar:

DIRNAME = os.path.abspath(os.path.dirname(__file__).decode('utf-8')

El problema fue, utilizando esta técnica, mi MEDIA_ROOT se estaba estableciendo como tal:

MEDIA_ROOT = os.path.join(DIRNAME, 'media')

Pero esto estaba usando las barras invertidas de Windows en lugar de las barras diagonales Unix. Tengo resolverlo con:

MEDIA_ROOT = os.path.join(DIRNAME, 'media').replace('\\', '/')

Otros consejos

Se trata de un único fallo de Windows. Estoy desarrollando una aplicación en Windows Satchmo y lo hace, pero cuando despliego en una máquina Linux funciona muy bien. Acabo de ir a la base de datos y editar las rutas allí cuando estoy haciendo las pruebas en mi caja de Windows.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top