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.