#1-先建表--建立建立使用者-角色-許可權表
#註冊使用md5加密,可以寫入tools.py
import hashlibdef md5(s):
'''md5'''
m = hashlib.md5(s.encode())
return m.hexdigest()
### models.py ###
class
user(basemodel):
name = models.charfield(max_length=200,verbose_name='名字'
) phone = models.charfield(max_length=11,verbose_name='
手機號'
) password = models.charfield(max_length=200,verbose_name='密碼'
)@staticmethod
defmack_password(row_password):
'''row_password:原始密碼
'''tmp_password = '
%s%s
' %(row_password,secret_key)
md5_password =md5(tmp_password)
return
md5_password
defcheck_password(self,row_password):
return self.mack_password(row_password) ==self.password
defset_password(self,row_password):
self.password =self.mack_password(row_password)
def__str__
(self):
return
self.name
class
meta:
verbose_name = '
使用者表'
verbose_name_plural =verbose_name
db_table = '
user
'class
roles(basemodel):
desc = models.charfield(verbose_name='
角色描述
',max_length=20,unique=true)
name = models.charfield(verbose_name='
角色標識
',max_length=20,unique=true)
class
meta:
verbose_name = '
角色表'
verbose_name_plural =verbose_name
db_table = '
roles
'class
permission(basemodel):
roles = models.foreignkey(roles,on_delete=models.do_nothing,db_constraint=false,verbose_name='角色'
) user = models.foreignkey(user,on_delete=models.do_nothing,db_constraint=false,verbose_name='使用者'
)
class
meta:
verbose_name = '
許可權表'
verbose_name_plural =verbose_name
db_table = '
permission
'
#2-先實現註冊介面,註冊請求時先校驗請求引數,使用modelform
### forms.pyclass
registerform(forms.modelform):
class
meta:
model =models.user
exclude =
#3-views中寫入介面邏輯
classregister(postview):
model_class =models.user
form_class =forms.registerform
#重寫 post 方法進行定製化開發
#將前端傳遞的 password 進行md5加密
defpost(self, requests):
#通過from進行資料驗證
form_obj =self.form(requests.post)
#資料驗證是否通過
ifform_obj.is_valid():
#建立資料
#form_obj.cleaned_data 是所有驗證通過的資料
data =form_obj.cleaned_data
data[
'password
'] = self.model_class.mack_password(data['
password'])
print('
data
', data)
self.model.objects.create(**data)
return
nbresponse()
else
:
#返回錯誤資訊
#return jsonresponse()
return nbresponse(code=500, msg=form_obj.error_format)
#4-配置urls
測試平台開發01 Django開發入門
1 建立專案 在磁碟中建立autotest的資料夾,進入資料夾後 執行 c python36 scripts django admin.exe startproject autotest 執行完畢後會生成相應的檔案 2 啟動服務 進入autotest資料夾內,輸入python manage.py r...
阿里雲 雲開發平台部署Django
1.雲平台建立專案 參考官方文件 2.本地建立專案 本地需預先執行以下操作 資料庫從sqlite3改為mysql 用sqlite3會在伺服器上讀寫,雲伺服器上只能進行唯讀操作 執行資料庫遷移命令 雲伺服器執行命令會提示成功,實際並不成功 建立超級使用者 雲伺服器執行命令會提示成功,實際並不成功 收集...
測試平台之 介面開發
專案管理介面 ps 已開發這個介面為例 path project views.projectview.as view class projectform modelform,extendform class meta model models.project exclude is delete de...