程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

計算機畢業設計Python+django 寵物領養中心小程序(源碼+系統+mysql數據庫+Lw文檔)

編輯:Python

項目介紹

據世界動物保護協會統計,全世界大概有5億只流浪狗和散養的狗和大致同樣數量的流浪貓,而這些主要源於主人的棄養。同時,在很多地區,狗和貓都處於散養狀態,這部分的動物,也經常會變成流浪動物。貓和狗又都有著較高的繁殖率,使流浪貓狗的種群迅速壯大。流浪貓狗因其可能攜帶的病毒對社區其他居民,尤其是兒童的健康產生威脅,以及它們產生的糞尿對寄居的社區衛生造成污染、發情期間所產生的噪音被廣為诟病。因此怎樣幫助這些流浪貓狗、盡量減少流浪貓狗的數量、降低流浪貓狗傳播疾病的風險成為一個問題。寵物愛心領養網站的實現,為那些無心或無力再飼養寵物的市民,提供了一個解決問題的平台,他們可以到領養網站上發布自己寵物的基本信息,為自己的寵物找到另一個家,讓那些有愛心、有時間精力照顧它們的家庭收養他們。同時也為那些喜歡養寵物的人提供了一個交流飼養經驗的平台。。
通過以上的調研研究發現,如此多的流浪動物是如此的可憐,動物是人類的朋友,是人類的鄰居,是人類的友好親朋。從某種意義來講,因為人類擁有高新技術,擁有了各種各樣動物所不具備的實力,就自視是萬物之靈、是強者,但是,我們沒有權利恃強凌弱去摧殘無辜的可愛的生命。相反,要保護它們,要善待它們。在國際交往中,我們還要注意類似和善待動物有關的問題。所有為了能夠呼吁更多的人參加到保護這些動物的行列中來,我們開發了本網站,旨在讓大家都能參加到保護動物的行列中來。

開發環境

計算機畢業設計Python+django 寵物領養中心小程序(源碼+系統+mysql數據庫+Lw文檔)
開發語言:Python
python框架:django
軟件版本:python3.7/python3.8
數據庫:mysql 5.7或更高版本
數據庫工具:Navicat11
開發軟件:PyCharm/vs code
前端框架:vue.js
可開發框架:ssm/Springboot/vue/python/PHP/小程序/安卓均可開發

系統截圖






核心代碼

def orders_register(request):
if request.method in ["POST", "GET"]:
msg = {
'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
error = orders.createbyreq(orders, orders, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = "用戶已存在,請勿重復注冊!"
return JsonResponse(msg)
def orders_login(request):
if request.method in ["POST", "GET"]:
msg = {
'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
datas = orders.getbyparams(orders, orders, req_dict)
if not datas:
msg['code'] = password_error_code
msg['msg'] = mes.password_error_code
return JsonResponse(msg)
try:
__sfsh__= orders.__sfsh__
except:
__sfsh__=None
if __sfsh__=='是':
if datas[0].get('sfsh')=='否':
msg['code']=other_code
msg['msg'] = "賬號已鎖定,請聯系管理員審核!"
return JsonResponse(msg)
req_dict['id'] = datas[0].get('id')
return Auth.authenticate(Auth, orders, req_dict)
def orders_logout(request):
if request.method in ["POST", "GET"]:
msg = {

"msg": "登出成功",
"code": 0
}
return JsonResponse(msg)
def orders_resetPass(request):
''' '''
if request.method in ["POST", "GET"]:
msg = {
"code": normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
error = orders.updatebyparams(orders,orders, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
def orders_session(request):
''' '''
if request.method in ["POST", "GET"]:
msg = {
"code": normal_code,"msg": mes.normal_code, "data": {
}}
req_dict={
"id":request.session.get('params').get("id")}
msg['data'] = orders.getbyparams(orders, orders, req_dict)[0]
return JsonResponse(msg)
def orders_default(request):
if request.method in ["POST", "GET"]:
msg = {
"code": normal_code,"msg": mes.normal_code, "data": {
}}
req_dict = request.session.get("req_dict")
req_dict.update({
"isdefault":"是"})
data=orders.getbyparams(orders, orders, req_dict)
if len(data)>0:
msg['data'] = data[0]
else:
msg['data'] = {
}
return JsonResponse(msg)
def orders_page(request):
''' '''
if request.method in ["POST", "GET"]:
msg = {
"code": normal_code, "msg": mes.normal_code, "data":{
"currPage":1,"totalPage":1,"total":1,"pageSize":10,"list":[]}}
req_dict = request.session.get("req_dict")
#獲取全部列名
columns= orders.getallcolumn( orders, orders)
#當前登錄用戶所在表
tablename = request.session.get("tablename")
#authColumn=list(__authTables__.keys())[0]
#authTable=__authTables__.get(authColumn)
# if authTable==tablename:
#params = request.session.get("params")
#req_dict[authColumn]=params.get(authColumn)
'''__authSeparate__此屬性為真,params添加userid,後台只查詢個人數據'''
try:
__authSeparate__=orders.__authSeparate__
except:
__authSeparate__=None
if __authSeparate__=="是":
tablename=request.session.get("tablename")
if tablename!="users" and 'userid' in columns:
try:
req_dict['userid']=request.session.get("params").get("id")
except:
pass
#當項目屬性hasMessage為”是”,生成系統自動生成留言板的表messages,同時該表的表屬性hasMessage也被設置為”是”,字段包括userid(用戶id),username(用戶名),content(留言內容),reply(回復)
#接口page需要區分權限,普通用戶查看自己的留言和回復記錄,管理員查看所有的留言和回復記錄
try:
__hasMessage__=orders.__hasMessage__
except:
__hasMessage__=None
if __hasMessage__=="是":
tablename=request.session.get("tablename")
if tablename!="users":
req_dict["userid"]=request.session.get("params").get("id")
# 判斷當前表的表屬性isAdmin,為真則是管理員表
# 當表屬性isAdmin=”是”,刷出來的用戶表也是管理員,即page和list可以查看所有人的考試記錄(同時應用於其他表)
__isAdmin__ = None
allModels = apps.get_app_config('main').get_models()
for m in allModels:
if m.__tablename__==tablename:
try:
__isAdmin__ = m.__isAdmin__
except:
__isAdmin__ = None
break
# 當前表也是有管理員權限的表
if __isAdmin__ == "是":
if req_dict.get("userid"):
del req_dict["userid"]
else:
#非管理員權限的表,判斷當前表字段名是否有userid
if tablename!="users" and "userid" in orders.getallcolumn(orders,orders):
req_dict["userid"] = request.session.get("params").get("id")
#當列屬性authTable有值(某個用戶表)[該列的列名必須和該用戶表的登陸字段名一致],則對應的表有個隱藏屬性authTable為”是”,那麼該用戶查看該表信息時,只能查看自己的
try:
__authTables__=orders.__authTables__
except:
__authTables__=None
if __authTables__!=None and __authTables__!={
}:
try:
del req_dict['userid']
except:
pass
for authColumn,authTable in __authTables__.items():
if authTable==tablename:
params = request.session.get("params")
req_dict[authColumn]=params.get(authColumn)
break
msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] =orders.page(orders, orders, req_dict)
return JsonResponse(msg)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved