У меня проблемы с передачей переменных с пробелами в них через URL-адреса. Теперь предположим, что у меня есть объект
class Kiosks(models.Model):
name = models.CharField(max_length = 200, unique = True)
owner = models.ForeignKey(User)
Теперь "имя", введенное для киоска, - "Акаш Дешпанде" и сохранено. Теперь при перенаправлении на новую страницу в представлениях я использую "название киоска" т.е.
messages.success(request,"Kiosk edited successfully")
return HttpResponseRedirect('/kiosks/'+kiosk.name+'/')
Представление, которое обслуживает этот URL-адрес, выглядит следующим образом:
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})
Основной urls.py просто направляет все с помощью «киосков» на следующие URL-адреса kiosks urls.py
urlpatterns = patterns('kiosks.views',url(r'^(\w+)/$', 'dashboard'),)
Теперь вместо перехода к этому страница выдает ошибку «Страница не найдена». Как передать переменные, в которых есть пробел? Вопрос ясен? Мы будем очень благодарны за любую помощь.