2010-09-04 5 views
2

Dans navigateur j'obtenir: URL de demande: http://xxxxxx:8000/person/test/Django URL ne correspond pas à même si elle devrait

Utilisation du URLconf défini dans person.urls, Django essayé ces modèles d'URL, dans cet ordre:
^person/ ^$
^person/ ^person/(?P<slug>[-\w]+)/$
^admin/
L'URL actuelle, person/test/, n'a retourné aucun résultat de ces derniers.

En shell python je reçois:
import re
url = 'person/test/'
pattern = re.compile(r'^person/(?P<slug>[-\w]+)/$'
re.match(pattern,url)
<_sre.SRE_Match object at 0xb7716860>

Il doit évidemment correspondre à l'expression régulière. L'utilisation de la seule personne url/(le^$ regexp) fonctionne.

J'ai essayé de redémarrer le serveur de développement bien sûr. Quel pourrait être le problème ici?

Répondre

4

Il ne correspond pas à l'encontre r'^person/(?P<slug>[-\w]+)/$', la page 404 montre qu'il est correspondant à contre r'^person/person/(?P<slug>[-\w]+)/$'

Vous avez probablement apparié ^person/ dans un urls.py, puis une autre urls.py et importé mis « personne » là-dedans aussi. Retirez-le de la deuxième urls.py. Après l'importation, un urls.py secondaire doit uniquement correspondre au reste de l'URL, et non à l'URL entière.

+0

Oh mon dieu. Je me sens stupide. Merci! – JaHei

Questions connexes