github詳情:
http://django-simple-captcha.readthedocs.io/en/latest/usage.html
安裝:
pip install django-simple-captcha==0.4.6
將captcha添加到setting的app中:
以下添加到urls中:
url(r'^captcha/', include('captcha.urls')),
register.html中,調入下面:
{{ register_from.captcha }}
自動生成驗證碼圖片和input輸入框
forms.py
# 驗證碼from captcha.fields import CaptchaField
# form對註冊表單的驗證class RegisterForm(forms.Form): email = forms.EmailField(required=True) password = forms.CharField(required=True, min_length=5) # 驗證碼,參數:錯誤信息 captcha = CaptchaField(error_messages={'invalid': '驗證碼錯誤啊'})
view.py
# 密碼加密 from django.contrib.auth.hashers import make_password
class RegisterView(View): def get(self, request): register_from = RegisterForm() return render(request, "register.html", {'register_from': register_from}) def post(self, request): register_from = RegisterForm(request.POST) if register_from.is_valid(): user_name = request.POST.get('username', '') pass_word = request.POST.get('password', '') user_profile = UserProfile() user_profile.username = user_name user_profile.password = pass_word # 對密碼加密 user_profile.password = make_password(pass_word) user_profile.save() # 保存到數據庫 pass return render(request, "register.html", {'register_from': register_from})
若遇到403錯誤:
在</form>前添加:
{% csrf_token %}