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

标签 python django comments

当用户使用 Django 评论发帖时,我想检查 IP 地址。

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

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

最佳答案

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

如果你在这个信号上注册,你的处理程序将被传递给(尚未保存的)评论对象和请求作为参数。如果您的处理程序返回 False,post_comment View 将使用 CommentPostBadRequest 进行回答,就像它处理任何其他类型的错误(例如表单验证失败)一样。

关于python - 验证 django.contrib.comments 表单时如何访问请求对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3888322/

相关文章:

Javadoc 注释与 block 注释?

Vim:使用不同的文件类型突出显示 latex 注释。

Python:递归:查找二叉树的叶子数

python - 当断点位于 while 循环内时,在 VSCode 中调试 jupyter 笔记本时出错

python - Pycharm 解析 Django 模板中的引用

django - 性能:在 PostgreSQL ArrayField 中存储点赞(Django 示例)

java - 在 Eclipse 中的其他评论之前没有换行符

Python 和 Redis : Manager/Worker application best practices

python - 如何在 Python 中向量化这个 for 循环?

javascript - 将 bool 值从 Javascript 转换为 Django?