如何解决如何显示博客文章内容并使用Django中的模式将其删除?
我已经在django中为我的博客主页创建了一个引导模式,我想使用该模式删除帖子,并在删除之前显示帖子内容。
我触发模式的html如下:
<button type="button" data-toggle="modal" data-target="#delete" class="btn btn-danger">Delete</button>
然后是我的模态:
<div class="modal fade" id="delete" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h3 class="modal-title">Do you really want to delete?</h3>
</div>
<div class="modal-body">
<p>{{ post.content }}</p>
</div>
<div class="modal-footer">
<a href="{% url 'post_delete' post.id %}" class="btn btn-danger btn-outline">Yes,Delete</a>
<button type="button" data-dismiss="modal" class="btn btn-secondary btn-outline">Cancel</button>
</div>
</div>
</div>
</div>
我的views.py文件如下:
class PostDeleteView(LoginRequiredMixin,UserPassesTestMixin,DeleteView):
model = Post
template_name = 'blog/home.html'
context_object_name = 'post'
success_url = reverse_lazy('blog_home')
我的urls.py文件:
urlpatterns = [
path('',PostListView.as_view(),name='stream_home'),path('post/new/',PostCreateView.as_view(),name='post_create'),path('post/<int:pk>/update/',PostUpdateView.as_view(),name='post_update'),path('post/<int:pk>/delete/',PostDeleteView.as_view(),name='post_delete'),]
还有我的models.py:
class Post(models.Model):
content = models.TextField(max_length=1000)
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User,on_delete=models.CASCADE)
likes = models.IntegerField(default=0)
dislikes = models.IntegerField(default=0)
def __str__(self):
return self.content[:5]
def get_absolute_url(self):
return reverse('post_detail',kwargs={'pk': self.pk})
在尝试加载页面时,出现此错误:
Reverse for 'post_delete' with arguments '('',)' not found. 1 pattern(s) tried: ['post/(?P<pk>[0-9]+)/delete/$']
如果我删除了删除按钮,则会加载页面,并且在单击时会显示模式,但是我的{{post.content}}标签无法显示。请帮助...
解决方法
在Django docs中,我认为您需要为DeleteView使用一个表格
<form method="post">
{% csrf_token %}
<p>Are you sure you want to delete?</p>
<input type="submit" class="btn btn-danger btn-outline" value="Yes,Delete">
<button type="button" data-dismiss="modal" class="btn btn-secondary btn-outline">Cancel</button>
</form>
该按钮似乎没有任何作用。也许更改它以将其链接回Listview或其他内容
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。