Seite 1 von 1

Django Bilder

Verfasst: Sonntag 13. August 2006, 15:04
von DatenMetzgerX
Habe mir mal Django installiert und ein wenig rumgespielt. Alles wudnerbar, aber wenn ich in meinem Template ein
<img src="bar.gif"> einfüge findet er das Bild nicht? (Bild ins PRojektverzeichnis kopiert). ER findet die Datei auch nicht wenn sie im Template Verzeichniss ist.

Wohni muss ich die Datei kopieren oder wie muss ich die src angeben?

Benutze den von Django mitgelieferten Server

Greeze
DM

Verfasst: Mittwoch 16. August 2006, 13:22
von c4r1
Django liefert standardmässig keine statischen files aus.
Du kannst jedoch beim mitgelieferten Server eine url konfigurieren um die media files über den 'django.views.static.serve' view auszuliefern. Jedoch solltest du das nur für die Entwicklung benutzen, da es sehr uneffizient ist.
Mehr dazu: http://www.djangoproject.com/documentat ... tic_files/

Verfasst: Freitag 18. August 2006, 20:50
von Zando
Aber man muss doch irgendwie Webseiten mit Bildern hinbekommen oder nicht?

So long
Carsten, der das auch mal interssehalber probiert und nicht hinbekommen hat

Verfasst: Freitag 18. August 2006, 22:19
von DatenMetzgerX
jop wenn du im urls.py eine neue adresse hinzufügst extra für die Medien. Wenn du dann auf z.B. Apache wechselst, kannst du die dateien in ein subverzeichnis im htdocs ordner tun (Nur die bilder)

Verfasst: Samstag 19. August 2006, 10:39
von Zando
DatenMetzgerX hat geschrieben:jop wenn du im urls.py eine neue adresse hinzufügst extra für die Medien. Wenn du dann auf z.B. Apache wechselst, kannst du die dateien in ein subverzeichnis im htdocs ordner tun (Nur die bilder)
Also hast du es hinbekommen?

Dazu aber zwei Fragen:
1. Ist das nicht die von c4r1 angesprochene ineffiziente Lösung, die man nur zu Entwicklungszwecken einsetzen sollte? Sein Link führt nur zu einem 0.91er-Tutorial...

2. Gibt man dann im Template nur den Namen der Bilddatei an?

So long
Carsten

Verfasst: Samstag 19. August 2006, 10:48
von DatenMetzgerX
urls.py

Code: Alles auswählen

from django.conf.urls.defaults import *
import django.views.static

urlpatterns = patterns('',
    (r'^admin/', include('django.contrib.admin.urls')),
    (r'^polls/', include('DjangoTest.polls.urls')),
    (r'^site_media/(.*)$', 'django.views.static.serve', {'document_root': 'D:/Dokumente und Einstellungen/admin/Desktop/Django-test/DjangoTest/media', 'show_indexes': True}),
    (r'^site_templates/(.*)$', 'django.views.static.serve', {'document_root': 'D:/Dokumente und Einstellungen/admin/Desktop/Django-test/DjangoTest/templates', 'show_indexes': True}),
    )


Eines meiner hässlichen templates :D

<link rel="stylesheet" type="text/css" href="/site_media/style.css"/>
{% extends "base.html" %}
{% block content %}
<h2>{{ poll.question }}</h2>
<ul>
{% for choice in poll.choice_set.all %}
<li>{{ choice.choice }} -- {{ choice.votes }} vote{{ choice.votes|pluralize }}</li>
<img src="/site_media/bar.gif" height = "10" width="{% widthratio choice.votes total 100 %}"/>

{% endfor %}
</ul>
{% endblock %}

Verfasst: Sonntag 20. August 2006, 19:29
von Zando
Ah, dank dir :)

Ist dann aber doch die "ineffiziente" Version, aber wen kümmert's ;)

So long
Carsten