J'essaie de comprendre comment il est possible d'utiliser http://code.google.com/p/django-simple-captcha/ avec des commentaires django. Je l'ai fait tout comme décrit ici: http://docs.djangoproject.com/en/dev/ref/contrib/comments/custom/django: Ajout de captcha simple aux commentaires django
Alors mes formes dans l'application de commentaire personnalisé ressemble à ceci:
from django import forms
from django.contrib.comments.forms import CommentForm
from captcha.fields import CaptchaField
class CommentFormWithCaptcha(CommentForm):
captcha = CaptchaField()
def get_comment_model(self):
# Use our custom comment model instead of the built-in one.
return Comment
Et mon dossier __init__.py
:
from protected_comments.forms import CommentFormWithCaptcha
def get_form():
return CommentFormWithCaptcha
Le champ captcha est rendu, mais je ne comprends pas comment vérifier si l'entrée était valide. Par exemple. docs simple-captcha dit suivants
if form.is_valid():
human = True
Mais je ne comprends pas vraiment où je peux ajouter ceci. Y a-t-il une méthode dans forms.py que je peux remplacer?
Désolé n'a pas complètement compris où l'ajouter? Dois-je copier quelque part la vue des commentaires par défaut et ajouter human = True quelque part? –
En fait, il affiche une erreur capcha –
@Oleg Non, vous ne devez pas l'ajouter n'importe où, ou copier quoi que ce soit. 'django.contrib.comments' vérifie si le formulaire est valide, donc vous n'avez pas besoin de le faire. Ce 'human = True' ne fait réellement rien, c'est juste une ligne d'espace réservé dans la documentation pour vous montrer que vous devez vérifier si le formulaire est valide. Mais puisque l'application de commentaires vérifie déjà cela, vous allez bien. Le captcha devrait travailler pour vous maintenant. – Pewpewarrows