NoReverseMatch Django,在CreateView中获取成功url
我在我的博客应用程序中创建一个创建视图来创建帖子。在 创建视图我使用了函数get\u success\u url。我想当我创建 一篇文章,它将重定向到blog\u post\u列表。H 我得到一个错误:NoReverseMatch 我想这一定是因为这些图案NoReverseMatch Django,在CreateView中获取成功url,django,django-views,Django,Django Views,我在我的博客应用程序中创建一个创建视图来创建帖子。在 创建视图我使用了函数get\u success\u url。我想当我创建 一篇文章,它将重定向到blog\u post\u列表。H 我得到一个错误:NoReverseMatch 我想这一定是因为这些图案 main urls.py from django.conf.urls import url, include from django.contrib import admin from blog.views imp
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
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'),
]
您没有包含名称空间,因此它无法找到
blog\u post\u列表
因此,只需在反向调用中添加名称空间
reverse(“posts:blog\u post\u list”)
有关
NoReverseMatch
错误的更多信息,请参阅非常感谢:)请务必阅读关于无反向匹配的链接,您为我节省了时间干杯,感谢您的支持help@RobertF. - 不用担心,享受吧
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")