2011-11-23 10 views
7

Ho problemi nel passare variabili con spazi in esse tramite gli URL. Ora Supponiamo che io sono un oggettoCome passare variabili con spazi tramite URL in: Django

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

Ora il "nome" inserito per il chiosco è dire "Akash Deshpande" e salvato. Ora, mentre il reindirizzamento ad una nuova pagina nelle viste, io sto usando il "nome chiosco" cioè

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

La vista che si rivolge a questo URL è la seguente:

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

I principali URL. py dirige semplicemente tutto con i "chioschi" per gli URL Bellow chioschi urls.py

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

Ora, invece di andare in questa pagina si sta dando un errore "pagina non fo und". Come posso passare variabili che hanno spazio in loro? La domanda è chiara? Qualsiasi aiuto sarà molto apprezzato.

+0

che cosa fa l'entrata in vista urls.py assomiglia? –

risposta

9

Consenti spazi nella tua espressione regolare.

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

e per l'amore di Pete, utilizzare reverse(). Ti aiuterà a cogliere errori stupidi come questo.

+0

Grazie mille ha funzionato ...... – Akamad007

1

Yup .. consentono spazi nella vostra regex .. qualcosa come questo funziona per me ..

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