2016-09-28 3 views
1

Ich erstelle eine create view in meiner Blog App, um einen Post zu erstellen. in der create view habe ich die Funktion get_success_url benutzt. Ich möchte, wenn ich einen Beitrag erstellen, dass es auf die blog_post_list umleiten wird.NoReverseMatch Django, get_success_url in CreateView

H

bekomme ich die Fehlermeldung: NoReverseMatch

Ich denke, es etw mit dem urlpatterns zu tun hat.

main urls.py 

    from django.conf.urls import url, include 
    from django.contrib import admin 

    from blog.views import AboutPageView, ContactPageView 

    urlpatterns = [ 
     url(r'', include('blog.urls', namespace='posts')), 
     url(r'^blog/', include('blog.urls', namespace='posts')), 
     url(r'^about/$', AboutPageView.as_view(), name='about'), 
     url(r'^contact/$', ContactPageView.as_view(), name='contact'), 


     #admin and login 
     url(r'^admin/', admin.site.urls), 

    ] 

Urls in Blog-App

from django.conf.urls import url 

from .views import blog_postListView, blog_postDetailView, blog_postCreateView 

urlpatterns = [ 
    url(r'^$', blog_postListView.as_view(), name='blog_post_list'), 
    url(r'^create/', blog_postCreateView.as_view(), name='blog_post_create'), 
    url(r'^(?P<slug>[-\w]+)$', blog_postDetailView.as_view(), name='detail'), 
] 

Blick in blogapp

class blog_postCreateView(CreateView): 
    #model = blog_post 
    form_class = blog_postForm 
    template_name = "form.html" 
    #fields = ["title", "content"] 
    def get_success_url(self): 
     return reverse("blog_post_list") 

Antwort

1

Sie nicht den Namespace enthalten sind, so dass es nicht in der Lage ist, die blog_post_list

So zu finden Fügen Sie einfach den Namespace im umgekehrten Aufruf

hinzu

reverse("posts:blog_post_list")

Weitere Informationen zu NoReverseMatch Fehler finden What is a NoReverseMatch error, and how do I fix it?

+1

danken Ihnen viel :) wird sicher den Link zu keinem Reverse Spiel gelesen, gespeichert Sie mir Zeit beifall, schätzen Ihre Hilfe –

+0

@ RobertF. - Keine Sorge, viel Spaß – Sayse