Tuesday, November 17, 2015

Getting NoReverseMatch and can't find the mistake

Sorry, can't seem to find what's wrong here, please help: what am I missing???

I'm seeing

NoReverseMatch at /zoekopdrachten/4/resultaat/

Reverse for 'resultaat' with arguments '('',)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'zoekopdrachten/(?P<zoekvraag_id>[0-9]+)/resultaat/$']
Request Method:GET
Request URL:http://127.0.0.1:8000/zoekopdrachten/4/resultaat/
Django Version:1.8.5
Exception Type:NoReverseMatch
Exception Value:
Reverse for 'resultaat' with arguments '('',)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'zoekopdrachten/(?P<zoekvraag_id>[0-9]+)/resultaat/$']
Exception Location:/Library/Python/2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 495
Python Executable:/usr/bin/python
Python Version:2.7.10


with views.py:
"""
    zoekopdrachten: views.py
    
"""

from django.http import Http404, HttpResponse, HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
from django.core.urlresolvers import reverse

from .models import KlantOrganisatie, ZoekVraag, ZoekVraagLocatie

#
#   Index - overzicht van opdrachtgever, contactpersonen en zoekvragen
def index(request):
    organisatie_lijst = KlantOrganisatie.objects.order_by('klant_organisatie_naam')
    context = {'organisatie_lijst': organisatie_lijst}
    return render(request, 'zoekopdrachten/index.html', context)


#
#   Klantverwerking - contactpersoon noteert oordeel en motivatie bij aangeboden zoekresultaten
def klantverwerking(request, zoekvraag_id):
    vraag = get_object_or_404(ZoekVraag, pk=zoekvraag_id)
    return render(request, 'zoekopdrachten/klantverwerking.html', {'vraag': vraag})
    

#
#   Resultaat - inlezen zoekresultaten en opnemen in database bij ZoekVraagResultaat
def resultaat(request, zoekvraag_id):
    vraag = get_object_or_404(ZoekVraag, pk=zoekvraag_id)
    try:
        keuze = vraag.zoekvraaglocatie_set.get(pk=request.POST['zoekvraaglocatie'])        
    except (KeyError, ZoekVraagLocatie.DoesNotExist):
        return render(request, 'zoekopdrachten/vraag.html', {
            'vraag': vraag,
            'error_message': 'Ongeldige keuze of zoiets',
        })        
    else:
        keuze.zoek_vraag_locatie = 'kippenfarm'
        keuze.save()
        return HttpResponseRedirect(reverse('zoekopdrachten:zelfverwerking.html', args=(vraag.id,)))


#
#   Vraag - details van de zoekvraag
def vraag(request, zoekvraag_id):
    vraag = get_object_or_404(ZoekVraag, pk=zoekvraag_id)
    return render(request, 'zoekopdrachten/vraag.html', {'vraag': vraag})


#
#   Zelfverwerking - opnemen zoekresultaten in databsae plus eigen beoordeling
def zelfverwerking(request, zoekvraag_id):
    vraag = get_object_or_404(ZoekVraag, pk=zoekvraag_id)
    return render(request, 'zoekopdrachten/zelfverwerking.html', {'vraag': vraag})

and urls.py:
""" 
    zoekopdrachten: urls.py
    
"""

from django.conf.urls import url

from . import views

urlpatterns = [
    # ex: /zoekopdrachten/
    url(r'^$', views.index, name='index'),
    # ex: /zoekopdrachten/5/
    url(r'^(?P<zoekvraag_id>[0-9]+)/$', views.vraag, name='vraag'),
    # ex: /zoekopdrachten/5/zelfverwerking/
    url(r'^(?P<zoekvraag_id>[0-9]+)/zelfverwerking/$', views.zelfverwerking, name='zelfverwerking'),
    # ex: /zoekopdrachten/5/klantverwerking/
    url(r'^(?P<zoekvraag_id>[0-9]+)/klantverwerking/$', views.klantverwerking, name='klantverwerking'),
    # ex: /zoekopdrachten/5/resultaat/
    url(r'^(?P<zoekvraag_id>[0-9]+)/resultaat/$', views.resultaat, name='resultaat'),
]


and vraag.html:
<h1>Zoekvraag "{{ vraag.zoekvraag_id }}"</h1>

{% if error_message %}
<p><strong>{{ error_message }}</strong></p>
</br>
{% endif %}

<h2>Verzamelen resultaten</h2>
<form action="{% url 'zoekopdrachten:resultaat' vraag.zoekvraag_id %}" method="post">
{% csrf_token %}
{% for term in vraag.zoekvraagterm_set.all %}
<input type="radio" name="term" id="term{{ forloop.counter }}" value="{{ term.id }}" />
<label for="choice{{ forloop.counter }}">1</label><br />
{% endfor %}
</br>
<input type="submit" value="Verwerken SourcingThing" />
</form>









--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/d6e5eb3f-c7bc-4890-8c31-c5622f6a9bb2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment