title: NoReverseMatch at /polls/1/
body: <p>I am following Django 2.0 tutorial Part4 and encounter the error:</p>
  
  <pre><code>NoReverseMatch at /polls/1/
  Reverse for 'vote' with arguments '('',)' not found. 1 pattern(s) tried: ['polls\\/(?P&lt;question_id&gt;[0-9]+)\\/vote\\/$']
  </code></pre>
  
  <p>The urls.py</p>
  
  <pre><code>from django.urls import path
  
  from . import views
  
  app_name = 'polls'
  urlpatterns = [
      path('', views.index, name='index'),
      path('&lt;int:question_id&gt;/', views.detail, name='detail'),
      path('&lt;int:question_id&gt;/results/', views.results, name='results'),
      path('&lt;int:question_id&gt;/vote/', views.vote, name='vote'),
  ]
  </code></pre>
  
  <p>The views.py, I followed the official tutorial strictly step by step:</p>
  
  <pre><code>from django.shortcuts import render, get_object_or_404
  from django.http import HttpResponse, HttpResponseRedirect
  from django.template import loader
  from django.urls import reverse
  
  from .models import Question, Choice
  
  
  def detail(request, question_id):
      question = get_object_or_404(Question, pk=question_id)
      return render(request, "polls/detail.html", {'question':question})
  
  def vote(request, question_id):
      question = get_object_or_404(Question, pk=question_id)
      try:
          selected_choice = question.choice_set.get(pk=request.POST['choice'])
      except (KeyError, Choice.DoesNotExist):
          #Redisplay the question voting form
          return render(request, 'polls/detail.html', {
              'question':question,
              'error_message':"You did'nt select a choice.",
          })
      else:
          selected_choice.votes += 1
          selected_choice.save()
          return HttpResponseRedirect(reverse('polls:results', args=(question.id,)))
  </code></pre>
  
  <p><strong>template</strong></p>
  
  <pre><code>&lt;h1&gt;{{ question.question_text }}&lt;/h1&gt;
  
  {% if error_message %}
      &lt;p&gt;&lt;strong&gt;{{ error_message }}&lt;/strong&gt;&lt;/p&gt;
  {% endif %}
  
  &lt;form  action="{% url 'polls:vote' question_id %}" method="post"&gt;
      {% csrf_token %}
      {% for choice in queston.choice_set.all  %}
          &lt;input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice_id }}"/&gt;
          &lt;label for="choice{{ forloop.counter }}"&gt;{{ choice.choice_text }}&lt;/label&gt; &lt;br&gt;
  
      {% endfor %}
      &lt;input type="submit"  value="Vote"/&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>I cannot locate the bug.</p>