7

目前,如果表单上有任何错误,django.contrib.comments 会将用户发送到预览页面。

我在博客的上下文中使用评论,如果提交出现问题,我更希望用户留在他们所在的页面上。据我所知,这是硬编码在 django.contrib.comments.views.comments.post_comment 中的:

# If there are errors or if we requested a preview show the comment
if form.errors or preview:
    template_list = [
        "comments/%s_%s_preview.html" % tuple(str(model._meta).split(".")),
        "comments/%s_preview.html" % model._meta.app_label,
        "comments/preview.html",
    ]
    return render_to_response(
        template_list, {
            "comment" : form.data.get("comment", ""),
            "form" : form,
            "next": next,
        },
        RequestContext(request, {})
    )

有什么方法可以在不将源代码更改为 django.contrib.comments 的情况下更改此行为?

任何指针将不胜感激......

谢谢!

4

2 回答 2

3

看起来你有两个真正的选择:

  • 写下自己的看法。可能复制该视图的代码以开始使用。
  • 修补该视图以获取额外参数,例如默认为 True 但可以覆盖的“preview_on_errors”。将补丁回馈给 Django,以便其他人可以从中受益。
于 2009-07-23T20:34:28.523 回答
0

是的!现在有一种自定义评论应用程序的方法。祝你好运!

于 2009-07-23T20:30:16.973 回答