9 Stimmen

Wie man Variablen mit Leerzeichen durch URL in :Django übergeben

Ich habe Probleme bei der Übergabe von Variablen mit Leerzeichen in den URLs. Angenommen, ich habe ein Objekt

class Kiosks(models.Model):
    name = models.CharField(max_length = 200, unique = True)
    owner = models.ForeignKey(User)

Der für den Kiosk eingegebene "Name" lautet nun "Akash Deshpande" und wird gespeichert. Bei der Weiterleitung zu einer neuen Seite in den Ansichten verwende ich nun den "Kiosknamen". d.h..

 messages.success(request,"Kiosk edited successfully") 
 return HttpResponseRedirect('/kiosks/'+kiosk.name+'/')

Die Ansicht, die dieser Url entspricht, lautet wie folgt:

def dashboard(request, kiosk_name):
    kiosk =Kiosks.objects.get(name__iexact = kiosk_name)
    deal_form = DealsForm(kiosk=kiosk)
    code_form = CodeForm()
    unverified_transactions = get_unverified_transactions(kiosk)
    return render(request,'kiosks/dashboard.html',{'kiosk':kiosk, 
                                                   'deal_form' : deal_form,
                                                   'code_form' : code_form,
                                                   'unverified_transactions' : unverified_transactions})

Die Haupt-urls.py leitet einfach alles mit "kiosks" auf folgende URLs weiter kiosks urls.py

urlpatterns = patterns('kiosks.views',url(r'^(\w+)/$', 'dashboard'),)

Statt diese Seite aufzurufen, wird nun die Fehlermeldung "Seite nicht gefunden" ausgegeben. Wie kann ich Variablen übergeben, die Leerzeichen enthalten? Ist die Frage klar? Jede Hilfe wird sehr geschätzt werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X