Sto sviluppando un'applicazione django e nel tempo, gli URL sono cresciuti. Ne ho molti con me ora e, a causa di alcuni cambiamenti che ho fatto, una vista ha iniziato a funzionare male. Quando provo a ottenere http://example.com/foo/edit_profile, si suppone che esegua una visualizzazione di una determinata funzione di visualizzazione X
ma che sia in esecuzione Y
. Da qualche parte il routing dell'URL sta rovinando e non riesco a capirlo. Ho usato il metodo django.core.urlresolvers.resolve
per provarlo dalla shell e posso confermare che l'URL viene risolto erroneamente. Tuttavia, non so come eseguire il debug di questo e individuare il problema.Django url debugger
Idealmente, mi piacerebbe vedere qualcosa come "testato questo schema", "testato questo schema" ecc. Fino a quando non trova finalmente quello corretto e posso quindi guardarmi intorno dove è stato risolto. Non riesco a trovare nulla di simile.
Non è un problema comune per i progetti più grandi? Cosa fanno le persone?
Aggiornamento
So come funziona il sistema e come guardare attraverso gli URL uno per uno. Questo è quello che sto cercando di fare. Questa domanda sta fondamentalmente chiedendo una scorciatoia.
Devo ancora vedere un insieme di URL questo complesso. Il mio 'urls.py' tende ad avere un sacco di include, ognuna delle quali ha il suo prefisso univoco (ad esempio'^foo' includerebbe gli URL nell'app 'foo', così potrei andare lì per scoprire dove sarà la prossima partita Se stai riscontrando questo problema, il tuo 'urls.py' è probabilmente troppo complicato. Potremmo essere in grado di aiutarti a capire cosa c'è che non va se lo pubblichi ... –
In realtà, il mio (e tutti gli altri I abbiamo visto) sono tutti "namespace" (un prefisso univoco seguito da un include) .Per qualche motivo però, uno dei miei foo/URL viene instradato alla barra/applicazione e restituisce qualcosa da lì. Sarebbe bello avere un debugger per dirmi semplicemente in quale ordine viene tentata la risoluzione in modo da poter individuare il problema –