1. 程式人生 > >慕課網學習python+Django+xadmin打造線上教育平臺user app學習總結

慕課網學習python+Django+xadmin打造線上教育平臺user app學習總結

學習django這個框架也有一段時間了,一開始接觸到這個框架就對這個框架非常的感興趣,所以就去學習了慕課網上的python升級3.6強力Django+殺手級打造線上教育平臺,目前學習完了六個章節,實現了使用者登入,使用者註冊,找回密碼功能,覺得有必要先總結總結之前的學習,然後再繼續學習。

一開始在Django整合xadmin時碰到了非常非常多的問題,也就是版本的問題,這裡放一個解決我一部分bug的連結django2.0整合xadmin0.6報錯集錦http://www.lybbn.cn/data/bbsdatas.php?lybbs=50,當然可能還有一些多多少少的問題,我感覺我說不清楚,所以也就不在細說

先說使用者登入


第一步:在models.py檔案中建立表

首先建立UserProfile表

user的自定義方法可以查閱Django的官方文件

在settings.py檔案中要加

AUTH_USER_MODEL = "users.UserProfile"
這條語句


郵箱驗證碼錶和輪播圖表的設計

建立好相關表後

ctrl+alt+r 輸入

makemigrations users 

然後再輸入

migrate users

第二步:建立forms.py檔案,在資料庫判斷前先用LoginForm判斷登入表單提交的內容是否符合要求,若不符合,直接返回錯誤資訊,減輕資料庫負擔


第三步:在views.py中寫相關的邏輯

第四步配置url:

url('login/$'
,LoginView.as_view(),name='login'),

第五步在setting中的INSTALLED_APPS中新增users

前端頁面:

<!DOCTYPE html>
<html>
{% load staticfiles %}
<head>
   <meta charset="UTF-8">
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" >
<title>慕學線上網登入</title> <link rel="stylesheet" type="text/css" href="/static/css/reset.css"> <link rel="stylesheet" type="text/css" href="/static/css/login.css"> </head> <body> <div class="dialog" id="jsDialog"> <!--提示彈出框--> <div class="successbox dialogbox" id="jsSuccessTips"> <h1>成功提交</h1> <div class="close jsCloseDialog"><img src="/static/images/dig_close.png"/></div> <div class="cont"> <h2>您的需求提交成功!</h2> <p></p> </div> </div> <div class="noactivebox dialogbox" id="jsUnactiveForm" > <h1>郵件驗證提示</h1> <div class="close jsCloseDialog"><img src="/static/images/dig_close.png"/></div> <div class="center"> <img src="/static/images/send.png"/> <p>我們已經向您的郵箱<span class="green" id="jsEmailToActive">[email protected]</span>傳送了郵件,<br/>為保證您的賬號安全,請及時驗證郵箱</p> <p class="a"><a class="btn" id="jsGoToEmail" target="_blank" href="http://mail.qq.com">去郵箱驗證</a></p> <p class="zy_success upmove"></p> <p style="display: none;" class="sendE2">沒收到,您可以檢視您的垃圾郵件和被過濾郵件,也可以再次傳送驗證郵件(<span class="c5c">60s</span></p> <p class="sendE">沒收到,您可以檢視您的垃圾郵件和被過濾郵件,<br/>也可以<span class="c5c green" id="jsSenEmailAgin" style="cursor: pointer;">再次傳送驗證郵件</span></p> </div> </div> </div> <div class="bg" id="dialogBg"></div> <header> <div class="c-box fff-box"> <div class="wp header-box"> <p class="fl hd-tips">慕學線上網,線上學習平臺!</p> <ul class="fr hd-bar"> <li>服務電話:<span>33333333</span></li> <li class="active"><a href="/login/">[登入]</a></li> <li><a href="register.html">[註冊]</a></li> </ul> </div> </div> </header> <section> <div class="c-box bg-box"> <div class="login-box clearfix"> <div class="hd-login clearfix"> <a class="index-logo" href="index.html"></a> <h1>使用者登入</h1> <a class="index-font" href="index.html">回到首頁</a> </div> <div class="fl slide"> <div class="imgslide"> <ul class="imgs"> <li><a href=""><img width="483" height="472" src="/static/images/mysql.jpg" /></a></li> <li><a href=""><img width="483" height="472" src="/static/images/mysql.jpg" /></a></li> <li><a href=""><img width="483" height="472" src="/static/images/mysql.jpg" /></a></li> </ul> </div> <div class="unslider-arrow prev"></div> <div class="unslider-arrow next"></div> </div> <div class="fl form-box"> <h2>帳號登入</h2> <form action="/login/" method="post" autocomplete="off"> {% csrf_token %} <div class="form-group marb20 {% if login_form.errors.username %}errorput{% endif %} "> <label>&nbsp;&nbsp;</label> <input name="username" id="account_l" type="text" placeholder="手機號/郵箱" /> </div> <div class="form-group marb8 {% if login_form.errors.password %}errorput{% endif %} "> <label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label> <input name="password" id="password_l" type="password" placeholder="請輸入您的密碼" /> </div> <div class="error btns login-form-tips" id="jsLoginTips">{% for key,error in login_form.errors.items %}{{ error }}{% endfor %}{{ msg }}</div> <div class="auto-box marb38"> <a class="fr" href={% url 'forget_pwd' %}>忘記密碼?</a> </div> <input class="btn btn-green" id="jsLoginBtn" type="submit" value="立即登入 > " /> </form> <p class="form-p">沒有慕學線上網帳號?<a href="register.html">[立即註冊]</a></p> </div> </div> </div> </section> <script src="/static/js/jquery.min.js" type="text/javascript"></script> <script src="/static/js/unslider.js" type="text/javascript"></script> <script src="/static/js/login.js" type="text/javascript"></script> </body> </html>

最後登入的介面

錯誤提示:


相關推薦

學習python+Django+xadmin打造線上教育平臺user app學習總結

學習django這個框架也有一段時間了,一開始接觸到這個框架就對這個框架非常的感興趣,所以就去學習了慕課網上的python升級3.6強力Django+殺手級打造線上教育平臺,目前學習完了六個章節,實現了使用者登入,使用者註冊,找回密碼功能,覺得有必要先總結總結之前的學習,然後

Django+xadmin打造線上教育平臺(一)

目錄 程式碼 線上演示  一、前言 開發環境:     python:  3.6.4     Django: 2.0.2 後臺管理:xadmin 1.1.專案介紹 系統概括: 系統具有完整的使用者登入註冊以及找回密碼功能,擁有完整個人中心。 個人中心: 修改頭

Django+xadmin打造線上教育平臺(十)

目錄 程式碼 十四、xadmin的進階開發 14.1.許可權管理 (1)使用者許可權 超級使用者擁有所有許可權,其它新增的使用者預設沒有任何許可權 進後臺新增一個使用者“Editor1”,勾上“職員狀態”後,這個使用者才可以登入進後臺,預設沒新增許可權的使用者登入到後臺的情

Django+xadmin打造線上教育平臺(六)

目錄 程式碼 九、課程章節資訊 9.1.模板和urls  拷貝course-comments.html 和 course-video.html放入 templates目錄下 先改course-video.html,同樣繼承base.html,然後裡面有屬於自己的樣式,也要保留

Django+xadmin打造線上教育平臺(八)

目錄 程式碼 十一、使用者資訊 11.1.個人資訊展示  (1)新建‘usercenter-bae.html’當母板 {% load staticfiles %} <!DOCTYPE html> <html> <head&g

Django+xadmin打造線上教育平臺(七)

目錄 程式碼 十、授課教師  10.1.講師列表頁 拷貝teacher-list.html和teacher-detail.html到templates目錄下  先改teacher-list.html,同樣繼承base.html  (1)urls配置 organaz

Django+xadmin打造線上教育平臺(三)

目錄 程式碼 五、使用者註冊  主要實現功能 使用者輸入郵箱、密碼和驗證碼,點註冊按鈕 如果輸入的不正確,提示錯誤資訊 如果正確,傳送啟用郵件,使用者通過郵件啟用後才能登陸 即使註冊成功,沒有啟用的使用者也不能登陸 5.1.初步檢視

Django+xadmin打造線上教育平臺(九)

目錄 程式碼 十二、首頁和全域性404,500配置 12.1.首頁功能 Course新增一個欄位 is_banner = models.BooleanField('是否輪播',default=False) CourseOrg新增一個欄位 tag = model

Django+xadmin打造線上教育平臺(二)

目錄 程式碼 線上演示 三、xadmin後臺管理 3.1.xadmin的安裝 django2.0的安裝(原始碼安裝方式): https://github.com/sshwsfc/xadmin/tree/django2 把zip檔案放到pip目錄下,執行下面命令安裝

Django+xadmin打造線上教育平臺(五)

目錄 程式碼 八、課程詳情頁功能的實現 8.1.課程列表  (1)配置urls MxOnline/urls中 path("course/", include('course.urls', namespace="course")), course裡面新建urls.p

Django+xadmin打造線上教育平臺(四)

目錄 程式碼 七、授課機構功能 7.1.模板繼承 (1)建立母板 把org-list.html拷貝到templates目錄下,新建base.html,剪下org-list.html內容到裡面 再修改一下靜態檔案的地址(css、就是、image和media) (2)

Python升級3.6 強力Django+殺手級Xadmin打造線上教育平臺 收藏 P

前往下載 第1章 課程介紹 介紹課程目標、通過課程能學習到的內容、和系統開發前需要具備的知識 1-1 專案演示和課程介紹 第2章 windows下搭建開發環境 介紹專案開發需要安裝的開發軟體、 python虛擬virtualenv和 virtualen

Python升級3.6 強力Django+殺手級Xadmin打造線上教育平臺

第1章 課程介紹介紹課程目標、通過課程能學習到的內容、和系統開發前需要具備的知識第2章 windows下搭建開發環境介紹專案開發需要安裝的開發軟體、 python虛擬virtualenv和 virtualenvwrapper的安裝和使用、 最後介紹pycharm和navica

】強力Django和殺手級xadmin學習筆記

慕課網 強力Django和殺手級xadmin學習筆記 2018年6月 3-2 3-3 指定主鍵 primary_key = True 3-5 在url中指

基於IMOOC強力django+殺手級xadmin 打造上線標準的線上教育平臺課程的學習(15)——xadmin的擴充套件

應該是 use_bootswacth 首頁多了一個主題設定按鈕: 可以選擇不同的主題: import xadmin from xadmin import views from

基於IMOOC強力django+殺手級xadmin 打造上線標準的線上教育平臺課程的學習(3)

建立 model models.py #coding=utf-8 from django.db import models class UserMessage(models.Model):

基於IMOOC強力django+殺手級xadmin 打造上線標準的線上教育平臺課程的學習(13)——xadmin介紹

settings.py 的配置 # -*- coding:utf-8 -*- import os import sys import pymysql pymysql.install_as_MySQLdb() # Build paths inside

Python筆記--《Python入門》

第三章    動態語言:變數本身型別不固定,可以隨時改變。 a = 'ABC' b = a a = 'XYZ' print b 輸出是ABC,而不是XYZ 用\對字串中某個字元進行轉義   print 'Bob said \"I\'

基於IMOOC強力django+殺手級xadmin 打造上線標準的線上教育平臺課程的學習(16)——首頁和登入頁面配置

index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="renderer" content=

_建立Django模型類

關鍵詞:迴圈引用 時區設定 開始 1,各app的建立並且將這些app放入一個叫apps的目錄中,方便管理 根據頁面邏輯大概要建立如下3個app:Users,Courses