Maison  >  Article  >  développement back-end  >  Django a une erreur Resolver404({\"tryd\": tryd, \"path\": new_path}) Que se passe-t-il ?

Django a une erreur Resolver404({\"tryd\": tryd, \"path\": new_path}) Que se passe-t-il ?

PHPz
PHPzavant
2024-02-29 20:10:09608parcourir

Django a une erreur Resolver404({\tryd\: tryd, \path\: new_path}) Que se passe-t-il ?

La raison de l'erreur

Cela est généralement dû au fait que le modèle d'URL défini dans Django ne correspond pas à l'URL demandée. Par exemple, si un modèle d'URL est défini dans l'URLconf de DjanGo, mais que l'URL à laquelle vous essayez d'accéder ne correspond pas à ce modèle, une erreur Resolver404 se produira.

Une solution de contournement pourrait consister à garantir que les modèles d'URL sont correctement définis dans l'URLconf et que l'URL demandée correspond à ces modèles. Vous pouvez également utiliser la fonctionnalité log de Django pour voir une liste des modèles d'URL qui ont été tentés de correspondre pour aider à déboguer le problème.

Comment réparer

Pour résoudre l'erreur Resolver404, vous devez effectuer les étapes suivantes :

Assurez-vous que le modèle d'URL est correctement défini dans la configuration d'URL de Django. Assurez-vous que chaque modèle d'URL a une fonction d'affichage correspondante et assurez-vous que chaque fonction d'affichage a un modèle d'URL correspondant.

Assurez-vous que l'URL demandée correspond au modèle d'URL défini dans l'URLconf. Si l'URL demandée ne correspond à aucun des modèles d'URL définis, une erreur Resolver404 se produit.

Utilisez la fonctionnalité de journalisation de Django pour voir une liste des modèles d'URL qui ont été tentés de correspondre. Cela peut vous aider à identifier les URL dont le modèle d'URL ne correspond pas à la demande, vous aidant ainsi à déboguer le problème.

Vérifiez votre code pour vous assurer qu'il n'y a pas de fautes de frappe ou autres erreurs. Si vous trouvez des erreurs, corrigez-les.

Si vous ne parvenez toujours pas à résoudre le problème, vous pouvez essayer de demander de l'aide sur le forum Django ou dans d'autres communautés en ligne.

Exemple d'utilisation

Ce qui suit est un exemple dans lequel deux modèles d'URL sont définis dans l'URLconf, mais l'URL demandée ne correspond pas à l'un des modèles, ce qui entraîne une erreur Resolver404 :

# URLconf

from django.conf.urls import url

from . import views

urlpatterns = [
url(r'^articles/2003/$', views.special_case_2003),
url(r'^articles/(?P[0-9]{4})/$', views.year_arcHive),
]

# views.py

def special_case_2003(request):
return HttpResponse('2003')

def year_archive(request, year):
return HttpResponse(year)

# 请求的 URL

http://example.com/articles/2005/

Dans ce cas, Django tentera de correspondre à l'URL demandée, mais ne correspondra qu'au deuxième modèle d'URL car c'est le dernier défini. Django renvoie une erreur Resolver404 car l'URL demandée ne correspond pas au premier modèle d'URL.

Pour résoudre ce problème, vous pouvez modifier le premier modèle d'URL pour qu'il corresponde à l'URL demandée, ou ajouter une fonction d'affichage dans vues.py pour gérer l'URL demandée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer