2009-08-22 6 views
13

Voglio sapere qual è il modo migliore per scrivere nello URL.py. Sto cercando di ottenere l'indice in questo modo: www.example.com con (r'',index). Ma quando provo r'', tutte le pagine del sito web stanno andando alla home page.Django URL.py e l'indice

Parte del mio url.py:

(r'^index',homepages), 
(r'',homepages), 

Grazie :)

risposta

31

Ti piace questa:

#... 
(r'^$', index), 
#... 
4

Django corrispondenza URL è molto potente anche se non sempre così conveniente come potrebbe essere. Come dice Brian, è necessario utilizzare il modello r '^ $' per forzare il pattern a corrispondere all'intera stringa. Con r '', stai cercando una stringa vuota in qualsiasi punto dell'URL, il che è vero per ogni URL.

I pattern URL di Django iniziano quasi sempre con^e terminano con $. In teoria, potresti fare qualche abbinamenti URL di fantasia in cui le stringhe trovate nell'URL determinano quale funzione di visualizzazione chiamare, ma è difficile immaginare uno scenario.