2016-04-22 12 views
0

Vor kurzem schrieb ich eine App namens Notebook, und ich stieß auf diese NoReverseMatch Problem. Ich hoffe wirklich, jemand könnte mir helfen. Hier sind meine Codes. in views.py:So lösen Sie NoReverseMatch in django1.8.6

def note_add(request): 
if request.method == 'POST': 
    form = NoteForm() 
    category = CategoryForm() 
    if form.is_valid() and category.is_valid(): 
     data1 = form.cleaned_data 
     data2 = category.cleaned_data 
     category_name = data2['category_name'] 
     for category_list in category_name.split(): 
      Category.objects.get_or_create(category_name=category_list.strip()) 
     title = data1['title'] 
     content = data1['content'] 
     note = Note(title=title, content=content) 
     note.save() 
     id = Note.objects.order_by('-id')[0].id 
     return HttpResponseRedirect('/notebook/note_add/%s' % id) 
else: 
    form = NoteForm() 
    category = CategoryForm() 
return render_to_response('notebook/note_add.html',{'form':form, 'category':category}) 

in Notebook/urls.py:

from django.conf.urls import url 
from . import views 
urlpatterns = [ 
    url(r'^$', views.note_list, name='note_list'), 
    url(r'^/note_add/$,', views.note_add, name='note_add'), 
    url(r'^(?P<id>[0-9]+)/$', views.note_detail, name='note_detail'), 
    url(r'^edit/(?P<id>[0-9]+)/$', views.edit, name='edit'), 
    url(r'^category/(?P<id>[0-9]+)/$', views.note_category, name='note_category'), 
] 

Die Problembeschreibung ist

NoReverseMatch at /notebook/ 

Reverse for 'note_add' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['notebook//note_add/$,'] 
+0

Welche URL haben Sie es erwarten – Sayse

+0

anzupassen Entfernen Sie das führende/'url (r '^ Note_add/$,', Ansichten .note_add, name = 'note_add') ' –

+0

Dieser Fehler kommt nicht von diesem Code, weil Sie nicht' reverse' oder das Template '{% url%}' Tag verwenden. –

Antwort

0

Entfernen Sie die erste "/" in Urls.

url(r'^note_add/$,', views.note_add, name='note_add'), 

So.

Von dem, was ich gesehen habe "keine reverse Übereinstimmung" war in der Regel aufgrund von Fehlern in Urls

+0

Es funktioniert immer noch nicht. Es trat immer noch das gleiche Problem auf. – CodeReapper

+0

Sie sollten auch das Komma am Ende der Zeichenfolge entfernen, d. H. 'R '^ note_add/$'' – Alasdair