2014-07-26 3 views
1

내가 잘못한 것을 여기서 알아낼 수 없습니다. 우분투 14.04에서 장고 1.6.5를 파이썬 2.7.6과 함께 사용하고 있습니다. 나는 notecards라는 앱을 포함하는 연구라는 프로젝트를 가지고있다. 'u'notecards한다 : 여기 내 연구/urls.pydjango 네임 스페이스 NoReverseMatch

from django.conf.urls import patterns, include, url 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    # Examples: 
    # url(r'^$', 'research.views.home', name='home'), 
    # url(r'^blog/', include('blog.urls')), 

    url(r'^admin/', include(admin.site.urls)), 
    url(r'^notecards/', include('notecards.urls', namespace='notecards')), 
) 

그리고 여기에 내가지고있어 오류 여기

def new_note(request): 
    if request.method == 'GET': 
     form = NotecardForm() 
    else: 
     form = NotecardForm(request.POST) 
     if form.is_valid(): 
      content = form.cleaned_data['content'] 
      source = form.cleaned_data['source'] 
      page = form.cleaned_data['page'] 
      tags = form.cleaned_data['tags'] 
     return HttpResponseRedirect(reverse('notecards:index',())) 

    return render(request, 'notecards/new_note.html', {'form': form, 
    }) 

views.py 그리고 노트 카드에 호출/임 등록 된 네임 스페이스가 아닙니다. 나는 명백한 무언가를 놓쳐 버렸을 것임에 틀림 없다. 그러나 나는 그것을 이해할 수 없다.

답변

2

코드에서 reverse('notecards:index',())reverse('notecards:index')으로 변경하십시오. reverse의 서명은

reverse(viewname, urlconf=None, args=None, kwargs=None, prefix=None, current_app=None) 

당신은 urlconf 실수로 복용 () 대신 args의 소요 볼 수 있습니다.

또한 django.shortcuts.resolve_url을 보면 정상적인 사용이 더 쉽습니다.