Seite 1 von 1

[Django]In Admin eingegebene Anführungszeichen quotieren

Verfasst: Sonntag 4. Oktober 2009, 14:07
von ferix
Hallo zusammen,

ich habe ein Django-Projekt, bei dem aus einem Model eine XML-File erzeugt wird. Problem hierbei ist noch, dass es problemlos möglich ist im Django-Admin bei Textfeldern Anführungszeichen zu verwenden und diese natürlich die XML-File "zerhaun".

Gibt es eine Möglichkeit relativ simpel alle CharFields auf Anführungszeichen zu prüfen und diese dann zu entfernen bzw. zu quotieren???

Alle Felder einzeln in der CustomValidation prüfen erscheint mir doch etwas umständlich. Auch die Auswahl der zur Verfügung stehenden Zeichen mit einem SlugField zu vermindern, finde ich nicht optimal.

Greetz

Verfasst: Sonntag 4. Oktober 2009, 14:50
von Dav1d
hast dus schonmal mit replace versucht

Code: Alles auswählen

>>> ein_string = 'Ha"ll"o'
>>> ein_string.replace('"', '_')
'Ha_ll_o'
mfg

Verfasst: Sonntag 4. Oktober 2009, 15:59
von apollo13
Du kannst Django models nach xml serialisieren, der serialiser sollte dann korrekt quoten:
http://docs.djangoproject.com/en/dev/to ... ialization

Verfasst: Montag 5. Oktober 2009, 20:33
von ferix
Cool danke muss ich mal probieren.
Was macht das dann genau? Das erzeugt noch kein XML-Object ansicht sondern bereitet in meinem Beispiel die CharFields nur für die Erstellung einer XML-File vor (Quotierung etc.)!?

@Dav1d: Auf diese Idee bin ich auch noch gekommen. Ist nur etwas umständlich und ich hätte trotzdem das Problem, alle Felder abarbeiten zu müssen. Trotzdem danke!

Verfasst: Montag 5. Oktober 2009, 22:13
von apollo13
Nein, das konvertiert mehr oder weniger ein object nach xml/json/yaml, was man angibt halt.

P.S.: rechtschreibfehler dürft ihr euch um diese uhrzeit selbst behalten, das ist der nachteil von wgs; vor 12 schon besofffen^^