Seite 1 von 1

Django Umlaute per Variable weitergeben

Verfasst: Mittwoch 14. Januar 2009, 21:11
von Tommy2002
Hallo,

ich versuche verzweifelt Umlaute (ä,ö,ü) per Variable an ein Template weiterzugeben jedoch bekomme ich dann immer folgende Fehlermeldung:

SyntaxError at /login/

Non-ASCII character '\xc3' in file C:\Python_Projekt\tp_control\..\tp_control\user_verwaltung\views.py on line 15, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details (views.py, line 15)

Code: Alles auswählen

import md5
from tp_control.user_verwaltung.models import organisation, user
from django.http import HttpResponse, Http404
from django.template import Context, loader
from django.shortcuts import render_to_response
from time import time

def login(request):
    if "authentication" in request.GET:
        organisationsdaten = organisation.objects.get(name=request.POST.get("organisation"))
        try:
            userdaten = organisationsdaten.user.get(username=request.POST.get("username"))
        except user.DoesNotExist:
            template = loader.get_template("user_verwaltung/login.html")
            context = Context({"organisation" : organisation, "infoleiste" : "Bitte Benutzername und Passwort überprüfen.", "infoleiste_type" : "error"})
            return HttpResponse(template.render(context))

Meine frage ist wie kann ich Umlaute Django mit übergeben?

Gruß

Tommy2002

Verfasst: Mittwoch 14. Januar 2009, 21:27
von Hyperion
Das hat mal nichts mit Django zu tun ;-)

[wiki]Von Umlauten, Unicode und Encodings[/wiki]?highlight=(unicode)

Dazu SuFu im Forum nutzen!

Im wiki kannste mal nach der Münchner User Group suchen und dann den sher schönen Vortrag von Leonidas dazu durchgehen :-)

Danke

Verfasst: Mittwoch 14. Januar 2009, 21:59
von Tommy2002
Hallo Hyperion,

danke für den Link. Ich habe bis jetzt von wiki.python.de noch nichts gehört werde es mir nun aber mal genauer anschauen.

Wie gesagt danke nochmal. :)

Gruß

Tommy2002

Verfasst: Sonntag 18. Januar 2009, 10:37
von sma
Speichere deine Python-Datei im UTF-8-Format ab und schreibe in die erste Zeile "# encoding: utf-8". ODER: Speichere sie im ISO-8859-1- oder CP1252-Format ab. Du kannst dann immer noch ein passendes "# encoding: " eintragen. ODER: Schreibe deinen Umlaut als \u00fc.

Mach aber in JEDEM Fall deinen String zu einem Unicode-String.

Jetzt scheinst du UTF-8-kodierte Dateien zu erzeugen (da C3 das erste Zeichen bei als UTF-8 kodierten Unicode-Umlauten ist) , es aber es Python nicht zu sagen.

Stefan