Domanda

che sto facendo un po 'di sviluppo locale utilizzando Django e Satchmo. Quando ho caricare le immagini dei prodotti a livello locale tramite l'amministratore, il percorso dell'immagine si presenta come un percorso assoluto, completo di lettera di unità, piuttosto che il corretto percorso relativo.

Ancora più strano, Satchmo salva sia l'immagine originale e le miniature che genera sia /media/ directory di directory e /media/images/ me, quest'ultimo, dove I voglio loro di andare.

Le impostazioni relavent sono i seguenti:

# 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/'

Ho triple controllato il file local_settings.py e non v'è alcuna menzione della parola 'media' in qualsiasi parte esso, quindi sono sicuro che non ci sono le sostituzioni di impostazione.

Se serve, io sono su Windows, ma sto usando tutta la corretta notazione UNIX per i miei sentieri.

È stato utile?

Soluzione 2

Si scopre che il problema è un problema con le indicazioni di barra nel file settings.py.

Di solito, creo una funzione relative_path() nel mio file settings.py così posso facilmente impostare:

MEDIA_ROOT = absolute_path('media')

La versione di Satchmo stavo usando incoraggiato l'uso di un DIRNAME impostazione invece:

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

Il problema è stato, usando questa tecnica, il mio root_supporto era stato impostato come ad esempio:

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

Ma questo stava usando i backslash di Windows invece dei slash Unix. Ho risolverlo con:

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

Altri suggerimenti

Questo è un unico bug di Windows. Sto sviluppando un'applicazione Satchmo su Windows e lo fa, ma quando schiero su una macchina Linux funziona bene. Mi basta andare nella banca dati e modificare i percorsi di lì quando sto facendo il test sulla mia casella di Windows.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top