2011-11-23 46 views
7

我在通過URL傳遞變量和空格時遇到了問題。 現在假設我有一個對象如何通過以下URL中的空格傳遞變量:Django

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+'/') 

這迎合了這個網址的觀點如下:

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}) 

主要的URL。 PY簡單地用「信息亭」與波紋管的網址 亭urls.py

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

指導現在的一切,而不是到這個頁面是給了一個錯誤的「頁面未FO UND」。我如何傳遞其中有空間的變量? 問題是否清楚? 任何幫助將不勝感激。

+0

是什麼在urls.py視圖項是什麼樣子? –

回答

9

在您的正則表達式中允許空格。

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

對於皮特的愛,請使用reverse()。它會幫助你捕捉這樣的愚蠢錯誤。

+0

非常感謝它...... – Akamad007

1

燁..允許你的正則表達式的空間..這樣的事情對我的作品..

url(r'^find-interiordesigners/state-(?P<state>.+?)/$',DesignersByCategoryCityState.as_view(),name='findInterior-state'),