I wanted to add reCaptcha to the comment form, but only for non-authenticated users.
I've created my own comments app, using reCaptcha more or less according to this post, except that I don't have any (explicit) view function to post the comment, but instead I check captcha as a part of form validation process. Everything works fine so far.
Now, how do I disable reCaptcha for a logged in user? Removing all reCaptcha-related fields in the template is no problem, but how do I validate the form, not checking captcha if the comment if from an authenticated user? Alternatively, is there a way to use two different comment form classes, depending on whether the user is authenticated or not?
UPDATE: I sort of solved the problem by creating a view for processing POST request for comments, where I validate the captcha first and then call the default view; I also had to add an entry for it into the urls.py. But was it really wrong to try and validate captcha in the form class?