Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Django: несколько вопрос неосилятора. Как работать со словарём или как избавится от словаря? Как правильно отдать в шаблон кучу информации? [RSS Feed]

#1 Июнь 13, 2012 06:08:03

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Django: несколько вопрос неосилятора. Как работать со словарём или как избавится от словаря? Как правильно отдать в шаблон кучу информации?

FishHook
Абстрагируясь от стартового топика, где топистартер пишет явно какую-то ерунду, в моей практике заведено описывать базовые классы для разных сущностей, а во вьюхах, моделях и формах их наследовать.
А я вот стараюсь максимально избегать наследования, наследование - очень сильная связь. Если использовать решения через неявно или явно(ZCA) выделяемые интерфейсы все получается гораздо более гибким.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#2 Июнь 13, 2012 10:36:07

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

Django: несколько вопрос неосилятора. Как работать со словарём или как избавится от словаря? Как правильно отдать в шаблон кучу информации?

PooH
FishHook
Абстрагируясь от стартового топика, где топистартер пишет явно какую-то ерунду, в моей практике заведено описывать базовые классы для разных сущностей, а во вьюхах, моделях и формах их наследовать.
А я вот стараюсь максимально избегать наследования, наследование - очень сильная связь. Если использовать решения через неявно или явно(ZCA) выделяемые интерфейсы все получается гораздо более гибким.
Вы имеете в виду компонентную архитектуру?
ИМХО, это хорошо в крупных долгоиграющих проектах, в небольшом проекте компонентная архитектура только запутывает и “утяжеляет” код.



Офлайн

#3 Июнь 13, 2012 19:41:37

UsCr
От:
Зарегистрирован: 2009-11-04
Сообщения: 216
Репутация: +  0  -
Профиль   Отправить e-mail  

Django: несколько вопрос неосилятора. Как работать со словарём или как избавится от словаря? Как правильно отдать в шаблон кучу информации?

Господа, я всё понимаю. Возможно, я дочитаю доку (а то, что я показал - результат беглого чтения джангобука, да) и похихикаю над собой. Но я не просто так написал в Python для новичков. Вы уж ответьте конкретно: “твой код - говно”, или: “в целом - сойдёт, но вот тут - плохо”.

P.S.
Ну или не тратьте время. Сейчас просто задача отошла на задний план. Скоро продолжу чтение и всё встанет на свои места.

P.P.S.

ИМХО, это хорошо в крупных долгоиграющих проектах, в небольшом проекте компонентная архитектура только запутывает и “утяжеляет” код.

В перспективе - это огромный проект по мониторингу IPTV на пути от спутника до клиента. Так что таки придёться “запутывать и утяжелять”.



Отредактировано UsCr (Июнь 13, 2012 19:44:33)

Офлайн

#4 Июнь 21, 2012 17:23:06

UsCr
От:
Зарегистрирован: 2009-11-04
Сообщения: 216
Репутация: +  0  -
Профиль   Отправить e-mail  

Django: несколько вопрос неосилятора. Как работать со словарём или как избавится от словаря? Как правильно отдать в шаблон кучу информации?

Прошу прощения за беспокойство. Самому стыдно стало, кода выспался и перечитал доки. Сделал так:

def index(request):
    t = get_template('index.html')
    html = t.render(Context({'data': ch.objects.all().order_by('id')}))
    return HttpResponse(html)

{% for channel in channels %}
        {% if channel.state %}
        <tr bgcolor="#9dde8c">
                {% else %}
                <tr bgcolor="#f89090">
        {% endif %}
                <td>
                {{ channel.id }}
                </td>
                <td>
                {{ channel.name }}
                </td>
      и т.д



Офлайн

  • Начало
  • » Django
  • » Django: несколько вопрос неосилятора. Как работать со словарём или как избавится от словаря? Как правильно отдать в шаблон кучу информации?[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version