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.
Django: Probleme mit static und media
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:
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):
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)
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"
kann ich dem default_storage sagen, dass es wo anders agieren soll ?
ich habe gerade herausgefunden, dass ich mit
ohne Fehlermeldung zu meinem Ziel komme.
Danke der Wink mit dem Zaunpfahl hat gut geholfen.
vg gomez
Code: Alles auswählen
os.path.isfile(filepath)
Danke der Wink mit dem Zaunpfahl hat gut geholfen.
vg gomez