Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Django mempunyai ralat Resolver404 ({\'tryed\': tried, \'path\': new_path}) Apa yang sedang berlaku?

Django mempunyai ralat Resolver404 ({\'tryed\': tried, \'path\': new_path}) Apa yang sedang berlaku?

PHPz
PHPzke hadapan
2024-02-29 20:10:09654semak imbas

Django mempunyai ralat Resolver404 ({\tryed\: tried, \path\: new_path}) Apa yang sedang berlaku?

Sebab ralat

Ini biasanya disebabkan oleh corak URL yang ditakrifkan dalam Django gagal padan dengan URL yang diminta. Contohnya, jika corak URL ditakrifkan dalam URLconf DjanGo, tetapi URL yang anda cuba akses tidak sepadan dengan corak tersebut, ralat Resolver404 akan berlaku.

Penyelesaian mungkin ialah memastikan corak URL ditakrifkan dengan betul dalam URLconf dan URL yang diminta sepadan dengan corak ini. Anda juga boleh menggunakan ciri log Django untuk melihat senarai corak URL yang cuba dipadankan untuk membantu nyahpepijat masalah.

Cara Membetulkan

Untuk menyelesaikan ralat Resolver404, anda perlu melakukan langkah berikut:

Pastikan corak URL ditakrifkan dengan betul dalam URLconf Django. Pastikan setiap corak URL mempunyai fungsi paparan yang sepadan dan pastikan setiap fungsi paparan mempunyai corak URL yang sepadan.

Pastikan URL yang diminta sepadan dengan corak URL yang ditakrifkan dalam URLconf. Jika URL yang diminta tidak sepadan dengan mana-mana corak URL yang ditentukan, ralat Resolver404 berlaku.

Gunakan fungsi pengelogan Django untuk melihat senarai corak URL yang cuba dipadankan. Ini boleh membantu anda mengenal pasti URL yang corak URL gagal sepadan dengan permintaan, membantu anda menyahpepijat masalah.

Semak kod anda untuk memastikan tiada kesilapan menaip atau ralat lain. Jika anda mendapati ralat, betulkan.

Jika anda masih tidak dapat menyelesaikan masalah, anda boleh cuba meminta bantuan di forum Django atau komuniti dalam talian yang lain.

Contoh Penggunaan

Berikut ialah contoh di mana dua corak URL ditakrifkan dalam URLconf, tetapi URL yang diminta tidak sepadan dengan salah satu corak, mengakibatkan ralat 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/

Dalam kes ini, Django akan cuba memadankan URL yang diminta, tetapi hanya akan memadankan corak URL kedua kerana ia adalah yang terakhir ditentukan. Django mengembalikan ralat Resolver404 kerana URL yang diminta tidak sepadan dengan corak URL pertama.

Untuk menyelesaikan masalah ini, anda boleh menukar corak URL pertama untuk memadankan URL yang diminta atau menambah fungsi paparan dalam views.py untuk mengendalikan URL yang diminta.

Atas ialah kandungan terperinci Django mempunyai ralat Resolver404 ({\'tryed\': tried, \'path\': new_path}) Apa yang sedang berlaku?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam