Найти - Пользователи
Полная версия: Django: несколько вопрос неосилятора. Как работать со словарём или как избавится от словаря? Как правильно отдать в шаблон кучу информации?
Начало » Django » Django: несколько вопрос неосилятора. Как работать со словарём или как избавится от словаря? Как правильно отдать в шаблон кучу информации?
1 2
PooH
FishHook
Абстрагируясь от стартового топика, где топистартер пишет явно какую-то ерунду, в моей практике заведено описывать базовые классы для разных сущностей, а во вьюхах, моделях и формах их наследовать.
А я вот стараюсь максимально избегать наследования, наследование - очень сильная связь. Если использовать решения через неявно или явно(ZCA) выделяемые интерфейсы все получается гораздо более гибким.
FishHook
PooH
FishHook
Абстрагируясь от стартового топика, где топистартер пишет явно какую-то ерунду, в моей практике заведено описывать базовые классы для разных сущностей, а во вьюхах, моделях и формах их наследовать.
А я вот стараюсь максимально избегать наследования, наследование - очень сильная связь. Если использовать решения через неявно или явно(ZCA) выделяемые интерфейсы все получается гораздо более гибким.
Вы имеете в виду компонентную архитектуру?
ИМХО, это хорошо в крупных долгоиграющих проектах, в небольшом проекте компонентная архитектура только запутывает и “утяжеляет” код.
UsCr
Господа, я всё понимаю. Возможно, я дочитаю доку (а то, что я показал - результат беглого чтения джангобука, да) и похихикаю над собой. Но я не просто так написал в Python для новичков. Вы уж ответьте конкретно: “твой код - говно”, или: “в целом - сойдёт, но вот тут - плохо”.

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

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

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

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>
      и т.д
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB