Wieviel Python-Code in einem Bottle Template

Django, Flask, Bottle, WSGI, CGI…
Antworten
peddy
User
Beiträge: 121
Registriert: Montag 30. Juni 2008, 13:51

Hallo,

ich beschäftige mich seit kurzem mit dem Bottle Microframework und habe jetzt mal eine Frage, wie ihr das so mit Templates handhabt. Wieviel Python-Code verwendet ihr in Templates? So wenig wie möglich oder ist das euch egal?

Hier ist mal ein Beispiel von mir:

Code: Alles auswählen

%monate = ('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli',
%    'August', 'September', 'Oktober', 'November', 'Dezember', 'Jan.-Dez.')
%mon_nr = ('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '1-12')

%import datetime
%d = datetime.date.today()
%year_now = d.strftime("%Y")

<h3>Neuen Suchfilter einstellen:</h3>
<form action="/ma_eintritt" method="GET">

<select name="month">
%for n, m in zip(mon_nr, monate):
    %if month == n:
        <option selected value="{{n}}">{{m}}
    %else:
        <option value="{{n}}">{{m}}
    %end
%end
</select>

%year = int(year)
<select name="year">
%for j in range(2003, int(year_now)+1):
    %if year == j:
        <option selected value="{{j}}">{{j}}
    %else:
        <option value="{{j}}">{{j}}
    %end
%end

<input name="search" type="submit" value="Suchen">
</form>
Würdet ihr die ersten sechs Zeilen in das Template einbauen oder die Werte an das Template übergeben?
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

Templates dienen der Präsentation von Daten. Übergebe daher die Daten an das Template und implementiere dort nur die Darstellungslogik. Sonst bekommst Du einen Kuddelmuddel wie es oft bei PHP zu finden ist.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

der Teil

Code: Alles auswählen

%import datetime
%d = datetime.date.today()
%year_now = d.strftime("%Y")
gehört definitiv nicht ins Template. Wie kbr schon schrieb:
Templates dienen der Präsentation von Daten.
.

Der Rest gehört nicht ins Template (weder bei Bottle noch sonst wo).

Gruß, noisefloor
peddy
User
Beiträge: 121
Registriert: Montag 30. Juni 2008, 13:51

Danke für die Tipps. Ich habe meine Scripte entsprechend umgebaut.
Antworten