2016-08-05 5 views
0

root UrlsNoReverseMatch Django

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^', include('profs.urls')), 
] 

App Urls

app_name = 'profs' 
urlpatterns = [ 
    url(r'^$', views.index, name='index'), 
    url(r'^contact/', views.contact, name='contact'), 
    url(r'^check_login/', views.check_login, name='check_login'), 
    url(r'^(?P<url_name_para>[a-zA-Z]+)/$', views.show, name='show'), 
    url(r'^(?P<url_name_para>[a-zA-Z]+)/edit_news/$', views.edit_news, name='edit_news'), 
] 

Ansicht

def check_login(request): 
    if request.method == 'POST': 
     if request.POST.get('username') != '' and request.POST.get('password') != '' and request.POST.get('password') != 'free': 
      prof = get_object_or_404(Professional, url_name=request.POST.get('username')) 
      if prof.subscription == request.POST.get('password'): 
       return redirect('edit_news', url_name_para = request.POST.get('username')) 
       #return render(request, 'profs/edit_news.html', {'prof': prof}) 
      else: 
       return render(request, 'profs/test.html', {'val': 1}) 
     else: 
      return render(request, 'profs/test.html', {'val': 2}) 
    else: 
     return render(request, 'profs/test.html', {'val': 3}) 

Ich versuche zu umleiten, aber ich bekomme

NoReverseMatch at /check_login/ 
Reverse for 'edit_news' with arguments '()' and keyword arguments '{'url_name_param': 'dtsik'}' not found. 0 pattern(s) tried: [] 

las ich auf andere Beiträge hier, die ich habe „$“ von leeren URL zu entfernen, wenn ich diese

url(r'^', views.index, name='index'), 

kein Fehler geworfen, sondern auch keine Umleitung zu ‚edit_news‘, fügt in derselben Seite ein Aufenthalt ‚/ check_login/'in der Adressleiste

+1

Mögliche Duplikat [Was ein NoReverseMatch Fehler ist, und wie kann ich es beheben?] (Http://stackoverflow.com/questions/38390177/Was-ist-ein-noreversematch-error-and-how-do-i-fix-it) – e4c5

+0

Auch Ihr Paramename hat kein 'm' in der URL – Sayse

+0

@Sayse ich fix 'm' , immer noch gleicher Fehler – ditsikts

Antwort

0

Ich habe den Namespace nicht gesetzt.

diese

return redirect('edit_news', url_name_para = request.POST.get('username')) 

Änderung

return redirect('profs:edit_news', url_name_para = request.POST.get('username'))