Django Media Images werden nicht angezeigt

NJay

Vice Admiral Pro
Registriert
Aug. 2013
Beiträge
6.505
EDIT: Habe die Lösung herausgefunden.

Folgendes ist falsch und/oder veraltet und funktioniert nicht:
Python:
urlpatterns = [
    path('picture/', include('pollTest.urls')),
    path('admin/', admin.site.urls),
  
]
if settings.DEBUG is True:
    static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

So funktioniert es:

Python:
urlpatterns = [
    path('picture/', include('pollTest.urls')),
    path('admin/', admin.site.urls),
   
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Hallo,

da mir hier letztens erst sehr gut für Python geholfen wurde, frage ich mal erneut.

Ich arbeite mit Django und möchte Bilder mittels MEDIA laden. mein Code:

Python:
class Picture(models.Model):
    picture_title = models.CharField(max_length=500)
    picture_picture = models.ImageField(upload_to='images/')

    def [B]str[/B](self):
        return self.picture_title
# The class
###############################################
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
# The settings
##############################################
{% if picture_list %}
<ul>
  {% for picture in picture_list%}
  <img src="{{ picture.picture_picture.url }}" alt="picture missing" style="width:300px;height:auto;"/>
  <p>{{ picture.picture_title }}</p>
  {% endfor %}
</ul>
{% else %}
<p>No pictures available</p>
{% endif %}
#The Template
################################################
urlpatterns = [
    path('picture/', include('pollTest.urls')),
    path('admin/', admin.site.urls),
  
]
if settings.DEBUG is True:
    static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
# the urls.py
###############################################

Der FF output in HTML:

HTML:
<ul>

  <img src="/media/images/palme.jpg" alt="picture missing" style="width:300px;height:auto;"/>
  <p>sdfghj</p>

</ul>

Der Pfad ist korekt, das Bild liegt dort, doch es wird nicht angezeigt, lediglich der alt string wird ausgegeben...

Was mache ich falsch? Ich habe auch schon versucht absolute Pfade zu setzen, ohne Erfolg. Er wird ebenfalls in HTML richtig angezeigt, aber das Bild nicht ausgegeben.

Vielen Dank.
 
Zuletzt bearbeitet:
Telmur schrieb:
Pauschal würde ich dann fragen, stimmen die Rechte im Ordner /media/..?

Ich habe oben bereits die Loesung reineditiert, trotzdem danke.
 
  • Gefällt mir
Reaktionen: Innensechskant
Zurück
Oben