django測試平台開發,註冊

2022-08-14 07:15:17 字數 2936 閱讀 3026

#1-先建表--建立建立使用者-角色-許可權表

#註冊使用md5加密,可以寫入tools.py

import hashlib

def 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.py

class

registerform(forms.modelform):

class

meta:

model =models.user

exclude =

#3-views中寫入介面邏輯

class

register(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...