Django Umlaute per Variable weitergeben

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Tommy2002
User
Beiträge: 13
Registriert: Mittwoch 24. Dezember 2008, 10:20
Kontaktdaten:

Mittwoch 14. Januar 2009, 21:11

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
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Mittwoch 14. Januar 2009, 21:27

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 :-)
Tommy2002
User
Beiträge: 13
Registriert: Mittwoch 24. Dezember 2008, 10:20
Kontaktdaten:

Mittwoch 14. Januar 2009, 21:59

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
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Sonntag 18. Januar 2009, 10:37

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
Antworten