Seite 1 von 1
Django: Probleme mit static und media
Verfasst: Montag 30. Mai 2022, 13:09
von gomez72
Hallo,
ich habe eine Webapp entwickelt, in der ich static pics in templates aufgerufen habe - alles funktionierte.
Jetzt wollte ich, dass der user ein profil Bild hochladen kann, also habe ich mir das Media Thema angesehen.
Das Hochladen eines Bildes und das jeweilige anzeigen aus einem Template welches auf Media zugreift funktioniert auch.
… auf Wunsch des Verfassers wegen sensitiven Informationen gelöscht.
Re: Django: Probleme mit static und media
Verfasst: Montag 30. Mai 2022, 13:59
von sparrow
Grundsätlich müssen wir mal zwei Dinge voneinander unterscheiden:
static files:
Das sind _statische_ Dateien, die deine Webanwendung braucht. Die sind dieshalb statisch, weil sie sich nie ändern.
media files:
Sind Dateien, die von einem Benutzer geändert werden können.
Das hier ist die entscheidende Fehlermeldung:
Code: Alles auswählen
The joined path (D:\dev\projects\web_saat_kalender\static_root\plant\img\62_1.jpg) is located outside of the base path component (D:\dev\projects\web_saat_kalender\media)
Jetzt sehe ich in deiner urls.py die URLs für media. Aber wo sind denn die für static?
Das wäre die erste Anpassung (ungetestet):
Code: Alles auswählen
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('main.urls')),
path('plant/', include('plant.urls')),
path('seed/', include('seed.urls')),
path('manual_faq/', include('manual_faq.urls')),
path("accounts/", include("django.contrib.auth.urls")),
path("members/", include('members.urls')),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
admin.site.index_title = "Saat-Zeit"
admin.site.site_header = "saat-zeit admin backend"
admin.site.site_title = "admin backend"
Re: Django: Probleme mit static und media
Verfasst: Montag 30. Mai 2022, 17:52
von gomez72
Hallo Danke für die Antwort, ja den Unterschied von static und media hatte ich verstanden.
Habe gerade deine Änderungen getestet. Hat sich nichts verbessert, leider.
vg Manuel
Re: Django: Probleme mit static und media
Verfasst: Montag 30. Mai 2022, 19:09
von sparrow
Aber default_storage agiert dort, wo deine media files hochgeladen werden. Also in %MEDIA_ROOT%.
Wenn du dann einen Pfad übergist, der außerhalb von %MEDIA_ROOT% liegt, dann kommt die entsprechende Fehlermeldung.
Re: Django: Probleme mit static und media
Verfasst: Montag 30. Mai 2022, 19:15
von gomez72
sparrow hat geschrieben: Montag 30. Mai 2022, 19:09
Aber default_storage agiert dort, wo deine media files hochgeladen werden. Also in %MEDIA_ROOT%.
Wenn du dann einen Pfad übergist, der außerhalb von %MEDIA_ROOT% liegt, dann kommt die entsprechende Fehlermeldung.
kann ich dem default_storage sagen, dass es wo anders agieren soll ?
Re: Django: Probleme mit static und media
Verfasst: Montag 30. Mai 2022, 20:56
von gomez72
ich habe gerade herausgefunden, dass ich mit
ohne Fehlermeldung zu meinem Ziel komme.
Danke der Wink mit dem Zaunpfahl hat gut geholfen.
vg gomez