Bilder werden im Browser nicht angezeigt

Django, Flask, Bottle, WSGI, CGI…
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

Hallo nochmals,

habe mein Django nach folgender Anleitung neu eingerichtet:
http://stefanimhoff.de/notiz/django-webdesigner/
allerdings wieder das gleiche Problem mit den Bilder.

so langsam glaube ich dass ich etwas anderes falsch mache
hat dies http://stefanimhoff.de/notiz/django-webdesigner/ schon jemand getestet?

danke im voraus
BlackJack

@erdmulch: Ich sehe da keine Anleitung hinter dieser URL‽ Aber eine Textstelle möchte ich mal zitieren: „Das URL-Design ist bei Django ein integraler Bestandteil. Es ist sogar nötig, sich damit zu beschäftigen.”
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

hallo nochmals,

ich setzte mich ja mit der Thematik auseinander. Aber ich kann nirgends raus lesen was zu tun ist, wenn ich ein Bild in meine Homepage mit einbinden will.
wenn ich ein Bild einbinden will, ich aber schon eine Seite mit Textstellen habe die auch funktionieren, muss ich dann was an der urls.py anpassen?
ich glaube ein einfaches ja oder nein würde mich an dieser Stelle schon weiter bringen
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Nein musst du nicht, du solltest allerdings aufhören Tutorials aus dem Jahr 2009 zu lesen, Django hat sich seit 2009 stark verändert, auch was das Handling von Bildern betrifft. Also: Sieh zu dass du ein aktuelles Django hast und lies die englische Originaldokumentation auf der Djangoseite (Oder wenn es deutsch sein muss: http://www.django-workshop.de/ ).
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

In der urls.py definierst du welche URL-Aufrufe auf wie auf welche Python-Methoden (views) gemappt werden. Deine Bilder sind keine Python-Methoden, also haben die nichts mit der urls.py zu tun.

Leg in deiner Django-Applikation (nicht dem Projekt) einen Unterordner namens "static" an und leg die Bilder hinein. Der Django-Development-Webserver wird dafür sorgen, dass sie mit dem URL-Prefix, das in der settings.py konfiguriert ist, abgerufen werden kann. Standardmäßig ist das /static.
Wenn du das in deinen Templates gleich per Variable abrufst, brauchst du das noch nicht einmal angeben. {{ STATIC_URL }} in einem RequestContext hilft dort sehr weiter.

Wenn dein Projekt irgendwann auf einem richtigen Webserver läuft, separiert man die statischen Dateien von den Python-Dateien und lässt sie über einen speziellen Webserver oder zumindest eine separate Konfiguration ausliefern, damit sie nicht durch den Interpreter müssen.
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

@erdmulch: Alles was Du brauchst, steht hier:
https://docs.djangoproject.com/en/1.4/h ... tic-files/
Halte Dich dort an "Basic usage", dann hast Du schon mal einen funktionierenden Einstieg für einen lokalen Server.
Antworten