मेरे लिए, निम्नलिखित के कारण मेरे django प्रोजेक्ट में यह त्रुटि आई:
मैंने अपने प्रोजेक्ट के टेम्प्लेट फ़ोल्डर में मौजूद अपने होम पेज में एक नया हाइपरलिंक डाला है:
<input type="button" value="About" onclick="location.href='{% url 'about' %}'">
View.py में, मेरे पास गिनती और के बारे में निम्नलिखित परिभाषाएँ थीं:
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 में, मेरे पास निम्न यूआरएल पैटर्न थे:
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"),
]
जैसा कि नहीं में देखा जा सकता है। ऊपर 3, पिछले यूआरएल पैटर्न में, मैं गलत तरीके से views.count कॉल कर रहा था, जबकि मुझे views.about को कॉल करने की आवश्यकता थी। fulltext = request.GET['fulltext']
काउंट फ़ंक्शन में यह लाइन (जिसे गलती से urlpatterns में गलत प्रविष्टि के कारण कहा जाता था) ने व्यू मल्टीवैलिडिक्टेकर अपवाद को फेंक दिया।
फिर मैंने urls.py में अंतिम url पैटर्न को सही में बदल दिया path('about/',views.about,name="about")
, और सबकुछ ठीक हो गया।
जाहिरा तौर पर, django में सामान्य रूप से एक नौसिखिया प्रोग्रामर गलती कर सकता है कि मैंने गलत तरीके से एक url के लिए दूसरे दृश्य फ़ंक्शन को कॉल किया है, जो अपेक्षित व्यवहार के बजाय मापदंडों के अलग-अलग सेट या इसके रेंडर कॉल में ऑब्जेक्ट के अलग-अलग सेट पास करने की उम्मीद कर सकता है।
उम्मीद है कि यह कुछ नौसिखिया प्रोग्रामर को django के लिए मदद करता है।