বাংলায় জ্যাঙ্গো

আমরা প্রত্যেকেই জ্যাঙ্গো শেখার শুরুতে খুব সাধারণ কিছু ভুল করে থাকি। আজ এরকম একটি ভুল আমরা কতভাবে করে থাকি তা বর্ননা করার চেষ্টা করব।

single_post() got an unexpected keyword argument ‘post_id’

কারন১ঃ variable এর নাম এক না হওয়া

আমাদের single post এর url ছিল

# blog_post/urls.py

url(r'^single-post/(?P<post_id>[0-9]+)/', views.single_post, name='single-post')

আমাদের variable এর নাম post_id এবং ভিউ single_post

#blog_post/views.py

def single_post(request, id):
    post = Post.objects.get(pk=id)
    return render(request, 'single_post.html', {'post':post})

লক্ষ করি , আমি single_post(request, id) প্যারামিটার হিসেবে id ব্যাবহার করেছি। কিন্তু url post_id ব্যাবহার করেছি। এই দুই variable এর নাম একই না হলে error দেখাবে

কারন২ঃ template url templatetag ভুল লেখা

পোষ্ট লিষ্ট লেখানোর জন্য templates/post_list.html ব্যাবহার করেছি

<h3><a href="{% url 'single-post' post.pk %}">{{ post.title }}</a></h3>

এখানে ‘single-post’ হচ্ছে url এর (blog_post/urls.py) name=’single-post’ । সুতরাং এই দুইটি একই নাম হতে হবে। অনেক সময় আমরা _ ও – এর মধ্যে পার্থক্য নির্ণয়ে ভুল করে ফেলি। আবার {% url single-post post.pk %} এভাবে লিখে ফেলি , অর্থাৎ, ‘’ (inverted comma) দিতে ভুলে যায়।

{% url ‘single-post’ %} এভাবে দেয় , অর্থাৎ প্যারামিটার হিসেবে post.pk অথবা post.id দিতে ভুলে যায়।

3
Leave a Reply

avatar
0 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
0 Comment authors
Recent comment authors
  Subscribe  
newest oldest most voted
Notify of