赞
踩
前言
使用软件:pycharm专业版、DevEco studio
文章中的mm为简写
# connect mysql
try:
cnt = pymysql.connect(host='localhost',
port=3306,
user='用户',
mm='',
db='数据库名称',
charset='utf8')
print('数据库连接成功')
except pymysql.Error as e:
print('数据库连接失败' + str(e))
# 登录方法 class login(APIView): def post(self, request): username = request.data.get('username') # 获取前端传输的用户名和密码 password = request.data.get('password') # print(username) # print(password) cur = cnt.cursor() # 创建sql游标 sql = 'select * from login where name=%s' # sql语句查询指定表指定元素 values = (username) try: if cur.execute(sql, values): cnt.commit() results = cur.fetchall() print(results) for row in results: # 循环调出用户名和密码 Pusername = row[1] Ppassword = row[2] # print(Pusername) # print(Ppassword) if password in Ppassword: # 验证 print('账号密码验证通过') return HttpResponse('登陆成功') else: print('查无此人') return HttpResponse('查无此人') except pymysql.Error as e: print('查无此人'+str(e)) return HttpResponse('请求失败')
注意需要在下级urls.py
文件中设置路由
因为login
方法为类方法,不能直接使用views.login
调用,需要使用as_view()
方法,这个方法将函数打包在views
中,返回符合要求的一个request
注意/
符号
from .views import login
urlpatterns = [
path('login/', login.as_view())
]
需要注意的几个点主要是HarmonyOS
的fetch()
方法进行网络请求,以及数据格式的解析
# login.js import fetch from '@system.fetch'; import qs from 'querystring'; import router from '@system.router'; export default{ data:{ winfo:"" }, inputAccount(e){ // 获取文本框数据 this.username = e.value; }, inputPassword(e){ this.mm = e.value; }, onClick(){ fetch.fetch({ // 发送请求 url:`http://127.0.0.1:8000/目标文件/login/`, data: qs.stringify({'username':'this.username', 'mm':'this.mm'}), // 发送到后端的数据 responseType:'json', method:'POST', success:(resp)=> { this.winfo = resp.data; console.log('返回的数据:'+this.winfo) if(this.winfo=='登陆成功'){ // 登录成功后跳转页面 router.push({ uri:'pages/request/request' }) } }, fail:(resp)=> { this.winfo = resp.data; console.log('获取数据失败:' + this.winfo) } }) } }
注意:需在config.js
中配置好网络请求
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。