1.html
form組件的主要功能以下:python
1. Django Admin的簡單用法: 1. 建立管理員帳號 python3 manage.py createsuperuser 2. 在admin註冊咱們的表 在app目錄下面的admin.py裏面按如下語法註冊 admin.site.register(models.類名) 3. 其餘配置項 1. admin頁面顯示中文 settings.py中修改LANGUAGE_CODE = 'zh-hans' 2. 表名顯示中文 類下面寫以下配置項 class Meta: verbose_name = "出版社" verbose_name_plural = verbose_name 3. 字段顯示中文 address = models.TextField(verbose_name="出版社地址") 2. form 1. form的做用 1. 生成HTML代碼 2. 幫咱們作數據有效性的校驗 3. 保留上次輸入內容,顯示錯誤提示 2. form組件生成html代碼 3. form組件校驗數據有效性 1. 內置的校驗規則 1. require=True 該字段必填 2. max_length 該字段的最大長度 3. min_length 該字段的最小長度 2. 自定義校驗規則 1. phone的格式 利用內置的正則校驗器 from django.core.validators import RegexValidator validators=[RegexValidator(r'^1[356789]\d{9}$', "手機號碼格式不正確")], 2. 手機號的惟一性校驗 手寫一個校驗函數 3. 使用鉤子函數作校驗 1. 局部鉤子(hook) 在form類內部定義一個 clean_字段名() 方法 2. 全局鉤子 在form類內部定義一個 clean() 方法 4. form組合如何給html標籤設置默認值 1. 每個字段設置默認值 initial="默認值" 3. model form 1. 必須繼承forms.ModelForm 2. class Meta: model = "一對一關聯的model類名" fields = "__all__" 3. 實例化 1. BookModelForm(instance=book_obj) 2. BookModelForm(request.POST, instance=book_obj) 4. form_obj.save()
1.form
1.django admin 用法
。。
先從url寫起,views,html
form引入:1.對html內容優化 2.對用戶提交的數據進行優化
做用:1.生成html代碼2.幫咱們作數據有效性校驗
3.保留上次輸入內容,顯示錯誤提示
models中要加入__str__,用戶展現中才顯示中文
*打散
動態獲取queryset
鉤子函數---全局、局部鉤子
密碼、確認密碼:
label.id_for_label?? 取到label標籤的id值
autocomplete="off" 去掉歷史自動填充
字段能夠爲空 required=False,
每個字段設置默認值 initial="默認值"
form_obj = BookForm({"title": "書的默認值呀2", "publish_date": "2018-01-01"})
# 把ORM中一個對象 快速轉換成 字典格式
from django.forms import model_to_dict
book_dict = model_to_dict(book_obj)
book_dict["publish_date"] = book_obj.publish_date.strftime("%Y-%m-%d")
print(book_dict)
form_obj = BookForm(book_dict)
增長、編輯
form缺點:與model中重複
model form:form寫數據,最後到model中,讓代碼更簡潔
model---url-----views----forms---html
model---url----views---modelform--html
2.auth模塊
authen。。 login
login_required
配置一下login_url
auth模塊實現登陸後能跳轉。。
create_user()
做業:建立用戶、檢查密碼、修改密碼、註銷
擴展 auth_user表
3.項目初識
BBS
settings--model--url---form----views--html
登陸
/static/...本身配置文件的名字
static/...本身直接引用,不用加/
隨機生成圖片--pillow模塊
驗證碼的存入,存入內存中;get_value取值;
存放在session中,每一個用戶的驗證碼單獨保存
點擊一下,驗證碼刷新----利用src屬性改變,加載
滑動驗證碼 -ok
註冊----------下週
day19 20180-08-26 1.今日內容 1. form和model form:https://www.cnblogs.com/liwenzhou/p/8747872.html 1. Django Admin的簡單用法: 1. 建立管理員帳號 python3 manage.py createsuperuser 2. 在admin註冊咱們的表 在app目錄下面的admin.py裏面按如下語法註冊 admin.site.register(models.類名) 3. 其餘配置項 1. admin頁面顯示中文 settings.py中修改LANGUAGE_CODE = 'zh-hans' 2. 表名顯示中文 類下面寫以下配置項 class Meta: verbose_name = "出版社" verbose_name_plural = verbose_name 3. 字段顯示中文 address = models.TextField(verbose_name="出版社地址") 2. form 1. form的做用 1. 生成HTML代碼 2. 幫咱們作數據有效性的校驗 3. 保留上次輸入內容,顯示錯誤提示 2. form組件生成html代碼 3. form組件校驗數據有效性 1. 內置的校驗規則 1. require=True 該字段必填 2. max_length 該字段的最大長度 3. min_length 該字段的最小長度 2. 自定義校驗規則 1. phone的格式 利用內置的正則校驗器 from django.core.validators import RegexValidator validators=[RegexValidator(r'^1[356789]\d{9}$', "手機號碼格式不正確")], 2. 手機號的惟一性校驗 手寫一個校驗函數 3. 使用鉤子函數作校驗 1. 局部鉤子(hook) 在form類內部定義一個 clean_字段名() 方法 2. 全局鉤子 在form類內部定義一個 clean() 方法 4. form組合如何給html標籤設置默認值 1. 每個字段設置默認值 initial="默認值" 3. model form 1. 必須繼承forms.ModelForm 2. class Meta: model = "一對一關聯的model類名" fields = "__all__" 3. 實例化 1. BookModelForm(instance=book_obj) 2. BookModelForm(request.POST, instance=book_obj) 4. form_obj.save() 2. auth模塊+報障系統(BBS) :https://www.cnblogs.com/liwenzhou/p/9030211.html 1. 設計一套用戶認證系統 1. 設計表 2. 登錄 3. 註冊 4. 我的中心那些 5. 驗證碼 6. 登錄認證 2. auth模塊的經常使用方法 1. authenticate() 2. login() 3. create_user() 4. create_superuser() 5. logout() 6. check_password() 7. set_password() 3. 擴展默認的auth_user表 默認auth模塊使用的是auth_user表,不知足實際需求 1. 必須繼承AbstractUser from django.contrib.auth.models import AbstractUser class UserInfo(AbstractUser): phone = models.CharField(max_length=11) 2. 告訴Django使用咱們的用戶表代替auth_user表 AUTH_USER_MODEL = "app名.UserInfo" 再次注意: 一旦咱們指定了新的認證系統所使用的表, 咱們就須要從新在數據庫中建立該表,而不能繼續使用原來默認的auth_user表了。 1. 登錄 1. 驗證碼 1. 本身生成驗證碼 1. pillow模塊的使用 1. pip install pillow 2. 生成圖片 3. 在圖片上寫字符 4. 在圖片上畫線 2. 內存操做 from io import BytesIO f1 = BytesIO() 3. 驗證碼保存在哪裏? 保存在session中,由於每一個請求驗證碼都不一樣。 4. 點擊驗證碼圖片刷新 經過js修改src屬性。 在login.html中綁定事件 $("#v-code-img").click(function () { this.src += "?"; }); 2. 滑動驗證碼 極驗科技:https://docs.geetest.com/install/deploy/server/python 2. 註冊 下週 2. 今日任務 1. 回去複習下裝飾器 2. 回去複習下時間模塊(time、datetime) 3. 本週做業 1. form組件和auth模塊整理好博客 2. admin本身研究研究 0828ok 3. 把今天項目的登錄功能本身獨立寫一遍 4. 我的中心頁面 修改的密碼功能 5. 報障系統設計表結果 需求: 普通的員工 運維員工(超級用戶) 故障總結是一篇文章 評論你的故障總結 故障總結能夠點 支持 和 反對 故障總結 根據產品線 作分類 故障總結 能夠打標籤 做業是根據上面列出來的需求 設計表結構