【问题标题】:ModuleNotFoundError at /blog/post/comment/update/18/ No module named 'test-post-ecomon'/blog/post/comment/update/18/ 处的 ModuleNotFoundError 没有名为“test-post-ecomon”的模块
【发布时间】:2021-01-23 16:04:35
【问题描述】:

我的网站有一个博客部分,我创建了一个 CommentUpdateView,在提交表单后它给了我这个错误

ModuleNotFoundError at /blog/post/comment/update/18/
No module named 'test-post-ecomon'

但我不明白为什么,因为这篇文章存在并且我在我的联系人模型中实现了 get_absolute_url 并且它应该可以正常工作?当我创建新评论时,它会起作用。

查看

class CommentUpdateView(LoginRequiredMixin, UpdateView):
    model = Comment
    form_class = CommentUpdateForm
    template_name = 'blog/update_comment.html'

    def form_valid(self, form):
        form.instance.author = self.request.user
        return super().form_valid(form)

    def get_queryset(self, *args, **kwargs):
        return super().get_queryset(*args, **kwargs).filter(author=self.request.user)

型号

class Comment(models.Model):
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    post = models.ForeignKey(Post, on_delete=models.CASCADE, related_name='comments')
    reply = models.ForeignKey('self', on_delete=models.CASCADE, null=True, related_name='replies')
    content = models.TextField(_('Content'))
    posted_date = models.DateTimeField(_('Posted Date/Time'), auto_now_add=True)
    updated_date = models.DateTimeField(_('Updated Date/Time'), auto_now=True)

    def __str__(self):
        return f'{self.author.username} - {self.post.title}'

    def get_absolute_url(self):
        return reverse('post', self.post.slug)

网址

path('post/<slug:slug>/', PostDetailView.as_view(), name='post'),
path('post/comment/update/<int:pk>/', CommentUpdateView.as_view(), name='update-comment'),

【问题讨论】:

    标签: python django forms


    【解决方案1】:

    尝试像这样重写您的get_absolute_url

    def get_absolute_url(request):
        return reverse('post', args=(self.post.slug, ))
    

    附: 您真的不想在更新视图中重新分配用户,因为它会降低性能而基本上什么都不做

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-25
      • 2021-10-21
      • 2013-06-04
      • 2019-03-28
      • 2020-03-21
      • 2022-01-07
      • 2017-12-14
      相关资源
      最近更新 更多