2016-09-28 7 views
1

投稿を作成するには、ブログアプリケーションで作成ビューを作成します。 ビューの作成get_success_url関数を使用しました。私は ポストを作成すると、blog_post_listにリダイレクトされます。 HNoReverseMatch Django、CreateViewのget_success_url

私はエラーを取得:NoReverseMatch

は、私はそれがurlpatternsにかなっを行う必要がありますね。

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), 

    ] 
ブログアプリで

のURL、そうblog_post_list

を見つけることができないようにするには、名前空間を含めていない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") 

答えて

1

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'), 
] 

景色リバースコールで名前空間を追加するだけです

エラーの詳細については3210

reverse("posts:blog_post_list")

、参照What is a NoReverseMatch error, and how do I fix it?

+1

はあなたに多くのことを感謝:)必ず反転なしの一致についてのリンクを読んでため 意志は、あなたはあなたの助け –

+0

を感謝し、私に 歓声を時間を保存@ RobertF。 - 心配するな、楽しむ – Sayse