Django+HarmonyOS 实现前后端响应
前言
首先确保在views.py
文件中使用pymysql
包链接数据库
# connect mysql
try:
cnt = pymysql.connect(host='localhost',
port=3306,
user='root',
pw='',
db='库名',
charset='utf8')
print('数据库连接成功')
except pymysql.Error as e:
print('数据库连接失败' + str(e))
一、前端方法
//.hml
<div class="container">
<div class="title">
<text class='txt'>Welcome</text>
</div>
<div class="login">
<button class="btn" onclick="onClick">
请求响应
</button>
</div>
<div class="back">
<text>{{winfo}}</text>
</div>
</div>
使用winfo
变量来储存数据,并且用fetch.fetch()
方法来发送网络请求
需要注意的是数据格式的转换,此处使用json格式
import fetch from '@system.fetch';
import qs from 'querystring';
export default {
data:{
winfo:"",
},
onClick(){
fetch.fetch({
url:`http://127.0.0.1:8000/Qingtian/Appreq/`,
data:qs.stringify({'id':this.id}),
responseType:"json",
method:"POST",
success:(resp)=>
{
this.winfo = resp.data;
console.log("返回的数据"+ this.winfo)
},
fail(resp){
this.winfo = resp.data;
console.log("获取数据失败"+ this.winfo)
}
})
}
}
前端页面
二、后端方法
1、views.py文件实现
通过ROM方法调用已有数据库表单
class Appreq(APIView):
def post(self, request):
result = models.Book.objects.filter(id=2) # Book为表名 查询id为2的数据
arr = []
for i in result:
arr.append(i.title)
print(arr)
id = request.data.get("id")
print(id)
return HttpResponse(arr)
注意:记得在urls.py
文件中配置路由