我正在尝试使用DeleteView
删除帖子(确认删除)。我遇到以下错误:
在/ post / 4 / remove /下的TypeError 'str'对象不可调用
Django的新手-在博客应用程序上工作。其他功能运行正常,但是当我尝试删除帖子(确认删除)时。我遇到以下错误:
urls.py:http://codepad.org/SP55psyf
urlpatterns = [
...
url(r'^post/(?P<pk>\d+)/remove/$',views.PostDeleteView.as_view(),name ='post_remove'),
...
]
views.py:http://codepad.org/BVsApXhB(完整文件)
class PostDeleteView(LoginRequiredMixin,DeleteView):
model = Post
success_url = reverse_lazy('post_list')
Models.py:http://codepad.org/TLUo4NJG
post_confirm_delete.html:http://codepad.org/795iD3RB
答案 0 :(得分:1)
发布了类似的问题,请参见'str' object is not callable when i try to use DeleteView in Django。
on_delete
参数应具有特定的值,而不是简单的字符串。
author = models.ForeignKey('auth.User', on_delete=models.PROTECT)
您需要使用models.PROTECT
而不是PROTECT
字符串。