python – 验证django.contrib.comments表单时如何访问请求对象?

当用户使用django评论发帖时,我想对IP地址进行检查.

我可以轻松地覆盖和自定义django.comments使用的表单,但我需要访问请求对象以向其clean()添加IP测试.是否有可能以干净的方式访问它?

另一种方法是在接收保存信号时检查IP,但是中止保存的唯一方法似乎是向用户返回代码400.

解决方法:

评论框架提供了comment_will_be_posted信号:
http://docs.djangoproject.com/en/1.2/ref/contrib/comments/signals/#comment-will-be-posted

如果您注册此信号,您​​的处理程序将传递(尚未保存)注释对象和请求作为参数.如果您的处理程序返回False,则post_comment视图将使用CommentPostBadRequest进行回答,因为它会对失败的表单验证等任何其他类型的错误进行回答.

上一篇:如何在Linux中使用VSCode切换注释?


下一篇:如何用PHP解析phpDoc样式的注释块?