Frage

Ich mache einige lokale Entwicklung mit Django und Satchmo. Wenn ich Produktbilder lokal über den Admin laden, um das Bild der Pfad als absoluter Pfad zeigt nach oben, komplett mit Laufwerksbuchstaben, anstatt den richtigen relativen Pfad.

Noch merkwürdiger ist, speichert Satchmo sowohl das Originalbild und die Thumbnails es sowohl in mir /media/ Verzeichnis und /media/images/ Verzeichnis, wobei die letztere, wo ich will sie gehen.

erzeugt

Die relavent Einstellungen sind wie folgt:

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

Ich habe tripple die local_settings.py Datei überprüft und es gibt keine Erwähnung des Wortes ‚Medien‘ überall drin, also bin ich sicher, dass keine Einstellung außer Kraft setzt.

Wenn es hilft, ich bin auf Windows, aber ich bin mit all der richtigen Unix-Notation für meine Pfade.

War es hilfreich?

Lösung 2

Es stellte sich heraus das Problem ein Problem mit Slash Richtungen in der settings.py Datei ist.

Normalerweise schaffe ich eine relative_path() Funktion in meiner settings.py-Datei, so kann ich einfach einstellen:

MEDIA_ROOT = absolute_path('media')

Die Version von Satchmo war ich mit aufgefordert, die Verwendung eines DIRNAME Einstellung statt:

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

Das Problem wurde, mit dieser Technik, mein MEDIA_ROOT als solche gesetzt wurde:

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

Aber dies wurde unter Verwendung der Windows-Schrägstriche anstelle der Unix Schrägstriche. Ich habe es lösen mit:

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

Andere Tipps

Dies ist ein nur Windows-Fehler. Ich bin eine Satchmo App auf Windows zu entwickeln und sie tut dies, aber wenn ich auf einer Linux-Box bereitstellen funktioniert es gut. Ich gehe einfach in die Datenbank und bearbeiten Sie die Pfade da, wenn ich Tests auf meinem Windows-Box tue.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top