iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 27
0

昨天提到Django本身有內建的會員系統,今天來做做看。

第一步:views.py

相較於自己建置會員系統需從model建起,內建的會員系統都包含在內了,直接撰寫邏輯:

from django.contrib.auth.forms import UserCreationForm

def register(request):
    if request.method == 'POST': #當使用者提交資料
        form = UserCreationForm(request.POST) #內建的form,model為User。
        if form.is_valid():
            form.save()
            return redirect('/quiz')
        else:
            return render(request, 'register.html', {'form':form})
    else:
        form = UserCreationForm()
        context = {'form':form}
        return render(request, 'register.html', context)

第二步:template

新增register.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Register</title>
</head>
<body>
    <form method="POST">
            {% csrf_token %}
            {{ form.as_p}} 
          <button type="submit">送出</button>
    </form>
</body>
</html>

第三步:urls.py

一樣最後記得加上urlpattern:

urlpatterns = [
    ...
    path('register', views.register),
]

結果如下,內建的會員系統還提供二次輸入密碼確認的功能~
https://ithelp.ithome.com.tw/upload/images/20200927/20129725TWBUbDzA60.png


上一篇
Django - 會員系統(一)
下一篇
Django - 會員系統(三)
系列文
Django案例實作之踩坑全記錄34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言