Seite 1 von 1

Bottle 0.8 und Unicode

Verfasst: Donnerstag 22. Juli 2010, 20:30
von noisefloor
Hallo,

mit der Version 0.8 nutzt Bottle für als Basis ja Unicode, d.h. z.B. Ausgaben von Templates werden als Unicode zurück gegeben. Bottle encoded dann beim Senden der Seite mit UTF-8.

Wenn ich jetzt "normale" String mit einer Template-Ausgabe mixe:

Code: Alles auswählen

# -*- coding: utf-8 -*-
...
text = 'foo boo'
vorlage = ''.join(bottle.template('mein_template.tpl')
return text+vorlage
gibt's einen Fehler. So weit so gut.

Welcher der beiden folgenden Weg ist denn nun der richtig - ich steh' da gerade aufm Schlauch.

Code: Alles auswählen

# -*- coding: utf-8 -*-
...
text = u'foo boo'
vorlage = ''.join(bottle.template('mein_template.tpl')
return text+vorlage

Code: Alles auswählen

# -*- coding: utf-8 -*-
...
text = 'foo boo'
vorlage = ''.join(bottle.template('mein_template.tpl').encode('utf-8')
return text+vorlage
Funktionieren tun beide.

Gruß, noisefloor

Re: Bottle 0.8 und Unicode

Verfasst: Donnerstag 22. Juli 2010, 21:14
von Defnull
Das kommt ganz darauf an, welche Form der resultierende String haben soll. Ist das egal, gibt es zwischen den beiden Varianten keinerlei Vor- oder Nachteile. Wenn es geht, würde ich allerdings %rebase benutzen, um vorlagen zu implementieren, statt manuell Strings dran zu kleben.

Das join() kannst du dir bei 0.8 übrigens sparen, Templates geben neuerdings Strings zurück und keine Listen mehr.

Re: Bottle 0.8 und Unicode

Verfasst: Freitag 23. Juli 2010, 07:17
von noisefloor
Hallo,
Wenn es geht, würde ich allerdings %rebase benutzen, um vorlagen zu implementieren, statt manuell Strings dran zu kleben.
Das werde ich wohl auch machen, alle Ausgaben auf Templates umzustellen. Ist so wie so sauberer.

Gruß, noisefloor