Wpis z mikrobloga

#django
Dlaczego coś typu

{% if redaktor = True %}
Dodaj wpis
{% endif %}

mimo, że jest prosto wykonać, w template to złe podejście, jak robić to poprawnie tak by odseparować części logiki na stronie z templatki np. do widoków?
  • 6
@Cnrash3: Template jest do wyświetlania. Przycisk "dodaj wpis" wyświetlasz tym, którzy powinni go widzieć, więc albo wprowadzasz redaktor albo canAddArticle. I nie ważne, czy redaktor to zmienna, czy funkcja isRedactor(). If w template musi być.

Natomiast w tym co podesłałeś, gość robi coś takiego: t.giver.profile.all.0.photo. To nie jest zmienna, tylko zaszycie wewnętrznej struktury w templacie. Stąd zaakceptowana odpowiedź to użycie photo jako funkcji, która zwróci to samo.

Jaki
@Cnrash3: ( ͡° ͜ʖ ͡°) generalnie nie licząc co poprzednik napisał z powtarzaniem, to jeśli chodzi o "nie trzymanie w templace" chodzi też o obróbkę danych, by nie stosować jakiejś skomplikowanej logiki w templatce gdy można to zrobić przed przekazaniem na widok (np. jakieś sumowanie).