Django Bilder

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

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
c4r1
User
Beiträge: 3
Registriert: Mittwoch 16. August 2006, 13:09

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/
Zando
User
Beiträge: 37
Registriert: Sonntag 9. Juli 2006, 17:18

Aber man muss doch irgendwie Webseiten mit Bildern hinbekommen oder nicht?

So long
Carsten, der das auch mal interssehalber probiert und nicht hinbekommen hat
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

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)
Zando
User
Beiträge: 37
Registriert: Sonntag 9. Juli 2006, 17:18

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
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

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 %}
Zando
User
Beiträge: 37
Registriert: Sonntag 9. Juli 2006, 17:18

Ah, dank dir :)

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

So long
Carsten
Antworten