Wyświetlanie obrazków, brak ścieżki

38 views
Skip to first unread message

lux

unread,
May 5, 2012, 1:42:31 PM5/5/12
to django-pl - grupa polskiej społeczności Django
Witam. Mam pewien problem. Próbuję wyświetlić obrazki lecz niestety
ich nie widać. W źródle strony mam: <img src=""> czyli brak ścieżki.
Poniżej ważne fragmenty kodu. Używam wbudowanego serwera
deweloperskiego. Proszę o pomoc

settings.py
MEDIA_ROOT = ''
MEDIA_URL = 'static'
STATIC_ROOT = ''
STATIC_URL = '/static/'

urls.py
(r'^static/(.*)$', 'django.views.static.serve', {'document_root':
os.path.join(os.path.dirname(__file__), 'static')}),



views.py
def index(request):
latest_picture = Photos.objects.all()
return render_to_response('index.html',
{'latest_picture':'latest_picture'})



index.html
{% for n in latest_picture %}
<img src="{{n.image.url}}">
{% endfor %}



models.py
class Photos(models.Model):
image = ImageWithThumbsField(upload_to='images', sizes=((125,125),
(200,200)))

lux

unread,
May 5, 2012, 1:44:39 PM5/5/12
to django-pl - grupa polskiej społeczności Django
http://wklej.org/id/746340/ <- tutaj lepiej widoczny kod

Krzysztof Hoffmann

unread,
May 5, 2012, 1:49:27 PM5/5/12
to djan...@googlegroups.com
Ustaw poprawnie MEDIA_ROOT _URL

--
Otrzymujesz tę wiadomość, ponieważ subskrybujesz grupę dyskusyjną Google o nazwie "django-pl - grupa polskiej społeczności Django".

Aby zamieszczać posty w tej grupie, wyślij e-mail na adres djan...@googlegroups.com.
Aby anulować subskrypcję tej grupy, wyślij e-mail na adres django-pl+...@googlegroups.com.
Aby uzyskać więcej informacji, odwiedź tę grupę pod adresem http://groups.google.com/group/django-pl?hl=pl.


phpfw nauka

unread,
May 5, 2012, 1:55:35 PM5/5/12
to djan...@googlegroups.com
Ustawiłem w MEDIA_ROOT ścieżkę do katalogu w którym zapisują się obrazki, niestety nadal jest ten sam problem

2012/5/5 Krzysztof Hoffmann <krzys...@gmail.com>

Krzysztof Hoffmann

unread,
May 5, 2012, 2:01:26 PM5/5/12
to djan...@googlegroups.com
w settings.py:

import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
MEDIA_ROOT = BASE_DIR + "/media/"
MEDIA_URL = '/media/'

w urls.py:


if settings.DEBUG:
    urlpatterns += patterns('',
        url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
            'document_root': settings.MEDIA_ROOT,
            }),
    )

    urlpatterns += patterns('',
        url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {
            'document_root': settings.STATIC_ROOT,
            }),
    )

phpfw nauka

unread,
May 5, 2012, 4:11:49 PM5/5/12
to djan...@googlegroups.com
Nadal bez zmian. Co jeszcze może być nie tak? Tutaj jest paczka z projektem: http://speedy.sh/ntwCr/hej.tar.gz

2012/5/5 Krzysztof Hoffmann <krzys...@gmail.com>

Andrzej

unread,
May 5, 2012, 4:50:49 PM5/5/12
to djan...@googlegroups.com
Wejdź w shell i zobacz co zwraca klasa Photos:

photo = Photos.objects.all()[0]
print photo.image
print photo.image.url
print photo.image.file

-- wtedy dowiesz się coś więcej - może zauważysz gdzie leży problem. 
Podobnie możesz spróbować zdebugować w template:

index.html
{% for n in latest_picture %}
<img src="{{ n.image }}">
{% endfor %}

zauważ powyżej brak atrybutu .url - dowiesz się, czy plik w ogóle istnieje i jest przypisany.


Inna sprawa - dlaczego model nazywasz liczbą mnogą ?
photo = Photos() ?

czy deklaracja:
photo = Photo()
nie brzmi sensowniej ?

phpfw nauka

unread,
May 5, 2012, 5:14:05 PM5/5/12
to djan...@googlegroups.com
Dzięki za pierwszą lekcję debugowania :) Naprawiłem błąd.
Dziękuje wszystkim za odpowiedzi

2012/5/5 Andrzej <chest...@gmail.com>

Andrzej

unread,
May 5, 2012, 5:19:43 PM5/5/12
to djan...@googlegroups.com
Podpowiedz co było nie tak. Możesz innym pomóc

phpfw nauka

unread,
May 5, 2012, 5:32:03 PM5/5/12
to djan...@googlegroups.com
W widoku było: return render_to_response('index.html', {'latest_picture':'latest_picture'} a powinno być {'latest_picture':latest_picture} + to co podpowiedział Krzysztof Hoffmann wyżej :)



2012/5/5 Andrzej <chest...@gmail.com>

phpfw nauka

unread,
May 5, 2012, 5:35:59 PM5/5/12
to djan...@googlegroups.com
@Andrzej dasz mi jeszcze jakieś wskazówki dotyczące debugowania w Django? Z góry dzięki

2012/5/5 phpfw nauka <naukas...@gmail.com>

Andrzej

unread,
May 5, 2012, 5:42:00 PM5/5/12
to djan...@googlegroups.com
@Andrzej dasz mi jeszcze jakieś wskazówki dotyczące debugowania w Django? Z góry dzięki


Takie rozwiązanie wystarcza w 80% przypadków. Dalej możesz poczytać tutaj:


Opisy się powtarzają, ogólnie samo debugowanie w template + metoda z pdb jest dla mnie wystarczająca. Acz Werkzeug też wymiata ;)

Doinstaluj sobie do systemu pakiet ipython - django shell automatycznie korzysta z niego (proszę o potwierdzienie - u mnie tak jest, ale nie jestem tego pewny), przez co wędrowanie po shellu jest wygodniejsze. Możesz też spróbować bpython, ale to już nie działa automatycznie.

A jeszcze oprócz nazw modeli uczepię się używanych metod - render_to_response jest passe, wygodniej używać direct_to_template. A w ogóle to powoli wkraczamy w Class-based views, więc niedługo standardem będzie coś całkiem innego - warto się temu przypatrzeć, tym bardziej skoro zaczynasz jakiś projekt, żeby później być na bieżąco
 

phpfw nauka

unread,
May 5, 2012, 5:50:13 PM5/5/12
to djan...@googlegroups.com
Dzięki :) zapoznam się z tym. Pzdr

2012/5/5 Andrzej <chest...@gmail.com>

--

Kuba

unread,
May 6, 2012, 5:34:05 AM5/6/12
to djan...@googlegroups.com
Hej,

nie wiem czy w tym filmiku padło, ale w pozostałych zasugerowanych
linkach nic nie było o django-debug-toolbar. Też bardzo przydatne narzędzie
choć jeśli używasz dużo ajax'a to za bardzo nie skorzystasz.

Kuba


2012/5/5 phpfw nauka <naukas...@gmail.com>
Reply all
Reply to author
Forward
0 new messages