2011-03-29 59 views
0

我是Django的新手。我創建了一個具有用戶登錄/註冊頁面的應用程序。現在我想將CAPTCHA也包含在註冊頁面中。有人可以指導我如何在Django中實現這一點,因爲我對它很陌生。在Google上,我發現有很多模塊可以開箱即用。如果這是要走的路,那麼哪個應用程序是更好的選擇?另外我發現其中大部分都是在使用Django Forms的基礎上解釋的。但我使用簡單的HTML表單而不是Django表單。任何幫助,將不勝感激。在Django用戶註冊頁面包含CAPTCHA

回答

1

如果你喜歡,你可以自己寫一個。你實際上所做的只是在視圖中生成一個數字/單詞,並以某種機器人不友好的方式將其嵌入到模板中(例如圖像),然後在表單回傳時進行驗證。

如果您使用的是html表單而不是django表單,那麼仍然可以使用django-simple-captcha。

類似的問題:Easy-to-use django captcha or registration app with captcha?

嘗試:http://code.google.com/p/django-simple-captcha/

3

有關哪個第三方解決方案「更好」的問題是主觀的,並且stackoverflow通常不喜歡回答主觀問題。花一些時間,根據你的需求評估每一個。

你通常不需要花哨的圖像驗證碼。即使是一個簡單的問題,如「什麼顏色是橙色的?」將阻止大多數垃圾郵件機器人。我在我的註冊表中提出了一個簡單的問題,要求用戶輸入網站的域名。簡單但非常有效。您也可以在表單上包含一個輸入框,並用CSS隱藏它(display: none)。如果這個輸入返回給你填寫,機器人正在嘗試註冊的機會是很好的。

這些第三方解決方案使用的是Django表單並不重要,而且您正在使用「簡單HTML」。在您的註冊視圖中,您只需處理request.POST。表單如何生成並不重要。