1. 程式人生 > >django 使用者註冊功能實現

django 使用者註冊功能實現

增加views的類

class RegisterView(View):
    def get(self, request):
        return render(request, 'register.html', {})

增加urls.py的url

url(r'^register/$', RegisterView.as_view(), name="register")

這樣可以呼叫register.html了,修改index.html的註冊按鍵的跳轉程式碼

<a style="color:white" class="fr registerbtn" href="{% url 'register' %}">註冊</a>

這樣就實現了點選 註冊 跳轉到register.html的功能

然後修改regiter.html檔案

在開頭增加{% load staticfiles %}為了後面可以用static的相對地址

{% load staticfiles %}

因為我們的settings下設定過static的url,
所以可以直接修改

<link rel="stylesheet" type="text/css" href="../css/reset.css">

<link rel="stylesheet" type="text/css" href="{% static 'css/reset.css' %}">

同理修改其它的靜態檔案static相對路徑

安裝第三方驗證碼庫

https://github.com/mbi/django-simple-captcha

安裝方法

https://django-simple-captcha.readthedocs.io/en/latest/usage.html#installation

安裝0.4.6版本!!!!!

pip install  django-simple-captcha==0.4.6

發現出現問題連線不上伺服器
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x000000000
40929E8>, 'Connection to pypi.org timed out. (connect timeout=15)')': /simple/django-simple-captcha/
那隻能換連線源了

pip install  django-simple-captcha==0.4.6 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

OK!!!安裝好

在settings的INSTALLED_APPS增加captcha

生成資料庫遷移


可以看到資料庫的表了

在urls.py的urlpatterns內增加

url(r'^captcha/', include('captcha.urls'))

用到include需要增加

from django.conf.urls import include

在forms.py內增加對註冊的驗證

from captcha.fields import CaptchaField

class RegisterForm(forms.Form):
    email = forms.EmailField(required=True)
    password = forms.CharField(required=True, min_length=6)
    captcha = CaptchaField()