Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 14, 2013 15:18:18

erjemin
Зарегистрирован: 2012-07-11
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Снова про статичные файлы ...

Да, я читал местные топики про статичные файлы в Django … не помогло…

Итак делаю и запускаю все из под PyCharm … и имеет место быть вот такая конструкция:

from django.http import HttpResponse, Http404
import PIL                                      # библиоткеа работы с графикой
from PIL import Image, ImageDraw
def indicator ( request ) :
    szHTML = ""
    image = Image.new("RGBA", (320,320), (0,0,0,0))
    draw = ImageDraw.Draw(image)
    draw.ellipse( (10,10,300,300), fill="red", outline="blue")
    del draw
    image.save("/как-то-путь/django/invest_mice/static/test.png", "PNG")
    szHTML += "<br /><img src='/static/test.png' />"
    return HttpResponse ( szHTML )

Соответственно в STATIC.PY пишу:

STATIC_ROOT = '/как-то-путь/django/invest_mice/static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    '/как-то-путь/django/invest_mice/static',
)

Картинка в папочке появляется но вызывать ее не получается. Обращение по:

http://127.0.0.1:8000/static/img/test.png

Отдает текстовое сообщение:

A server error occurred. Please contact the administrator.

Никаких 404 и прочего… Напоминаю, что все это из под PyCharm…

В какой бубен стучать?

Офлайн

#2 Фев. 14, 2013 15:33:41

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Снова про статичные файлы ...

>>>Напоминаю, что все это из под PyCharm…
да он то ту при чем?
сюда вместо

STATICFILES_DIRS = (
    '/как-то-путь/django/invest_mice/static',
)
STATICFILES_DIRS = (
    'static',
)



Офлайн

#3 Фев. 14, 2013 15:46:20

erjemin
Зарегистрирован: 2012-07-11
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Снова про статичные файлы ...

Ничего не изменилось… Если там ничего не писать – результат тот-же… Если пишем:

STATICFILES_DIRS = (
    '',
)

Вылетает по 404 при вызове картинки…

Офлайн

#4 Фев. 14, 2013 15:48:45

erjemin
Зарегистрирован: 2012-07-11
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Снова про статичные файлы ...

Упс… если

STATICFILES_DIRS = ( )

То тоже 404 … Блин. что ей туда надо!?

Офлайн

#5 Фев. 14, 2013 16:26:48

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

Снова про статичные файлы ...

django 1.4

STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    'путь к папке со статикой',
)

соответственнол в html
<img src='/static/img.png'>
все работает отлично

Офлайн

#6 Фев. 14, 2013 16:34:56

erjemin
Зарегистрирован: 2012-07-11
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Снова про статичные файлы ...

Спасибо! Так сработало! И, кстати, вложенные папки тоже автоматом подцепились…

Офлайн

#7 Фев. 15, 2013 11:14:23

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

Снова про статичные файлы ...

ilnur
<img src='/static/img.png'>

правильнее так:

<img src='{{ STATIC_URL }}img.png'>

чтобы при случае переноса статики в другое место не пришлось менять шаблоны

Офлайн

#8 Фев. 15, 2013 20:08:16

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

Снова про статичные файлы ...

inoks
чтобы при случае переноса статики в другое место не пришлось менять шаблоны
если статика перейдет в другую папку, её надо просто прописать в
STATICFILES_DIRS = (
    'путь к папке со статикой',
)
в шаблонах ничего менять не надо.

ещё не проверил. по моему все правильно написал

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version