The last feature that we want to have in our application is spam protection. We want users to be able to post content on our site, but we want to prevent abuse by spammers. Spamming, as you probably know, refers to malicious Internet users posting inappropriate or irrelevant content to a site. Often, spammers use scripts created specifically to target sites that allow user-submitted content, such as our web app. While we can't stop spammers easily from submitting spam content to our site manually, we can make sure that they are not able to use scripts to generate a lot of spam with just a click of the mouse. Usually, if spammers can't use their scripts on websites, they move on to easier targets.
The important concept that I want you to learn from this feature isn't how to implement spam protection. That's something you need to decide based on the requirements of your own project. What I'll be showing here is how to use open source Django applications created by other developers...