django-simple-captcha 驗證碼

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 %}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章