Benim için bu hata, django projemde aşağıdakilerden dolayı meydana geldi:
Projemin şablonlar klasöründe bulunan home.html dosyasına şu şekilde yeni bir köprü ekledim:
<input type="button" value="About" onclick="location.href='{% url 'about' %}'">
Views.py'de sayımın ve
def count(request):
fulltext = request.GET['fulltext']
wordlist = fulltext.split()
worddict = {}
for word in wordlist:
if word in worddict:
worddict[word] += 1
else:
worddict[word] = 1
worddict = sorted(worddict.items(), key = operator.itemgetter(1),reverse=True)
return render(request,'count.html', 'fulltext':fulltext,'count':len(wordlist),'worddict'::worddict})
def about(request):
return render(request,"about.html")
- Urls.py dosyasında aşağıdaki URL kalıplarım vardı:
urlpatterns = [
path('admin/', admin.site.urls),
path('',views.homepage,name="home"),
path('eggs',views.eggs),
path('count/',views.count,name="count"),
path('about/',views.count,name="about"),
]
Hayır görüldüğü gibi. Yukarıdaki 3, son url düzeninde, yanlış views.count çağırırken, views.about çağırmak gerekiyordu. Bu fulltext = request.GET['fulltext']
sayım işlevindeki sayım işlevi (urlpatterns'e yanlış giriş nedeniyle yanlışlıkla çağrıldı) views.py çoklu değer içeren anahtar hatası istisnasını attı.
Sonra urls.py'deki son url desenini doğru olana değiştirdim, yani path('about/',views.about,name="about")
her şey yolunda gitti.
Görünüşe göre, genel olarak django'daki bir acemi programcı, bir url için yanlış bir şekilde başka bir görüntüleme işlevini çağırmaktan, farklı parametreler beklemek veya amaçlanan davranıştan ziyade render çağrısında farklı nesne kümesini iletmek gibi bir hata yapabilir.
Bu bazı acemi programcı django yardımcı olur umuyoruz.