django和鸿蒙前端的交互响应

1、在Setting.py文件:连接自己的MySQL和对应的数据库

        如果数据库名通过: show databases;查看(在属性name=’数据库名‘)

2、settings.py中语句为 ALLOWED_HOSTS =[‘*’]表示可以使所有的网址都能访问Django项目了

3、添加数据库(Database一栏中填写要引入的:数据库名)

 4、Js有关代码:

关于qs.stringify

import qs from 'querystring'//npm install qs 和 npm install querystring

qs.stringify把一个参数对象格式化为一个字符串,将对象 序列化成 URL 的形式(a=b&c=d),以&进行拼接

JSON.parse() 方法用来解析JSON字符串,将JSON字符串转换为JSON对象(把key=value连接字符串转成对象,如:name=hehe&ange=10==>{name:'hehe', ange:10}

5、鸿蒙:(其中:cleartextTraffic:true要设置成true的形式)

Config.json 配置:

"deviceConfig": {
 "default": {
 "process": "com.huawei.hiworld.example",
 "supportBackup": false,
 "network": {
 "cleartextTraffic": true
 }
 }
},

"reqPermissions": [
 {
 "name": "ohos.permission.GET_NETWORK_INFO"
 },
 {
 "name": "ohos.permission.SET_NETWORK_INFO"
 },
 {
 "name": "ohos.permission.INTERNET"
 }
],

 6、鸿蒙页面布局部分代码(onclick点击获取响应)


    <div>
        <button class="btn" onclick="onclick">
            请求响应
        </button>
    </div>
    <div>
        <text class="txt2">{{all}}</text>
    </div>

7、鸿蒙js代码

import qs from 'querystring'//上方的解释
import fetch from '@system.fetch';
export default{
    data:{
        all:""
    },
    onclick(){//函数
//        发起网络请求
        fetch.fetch({
            url:`http://127.0.0.1:8000/tt/AppRed/`,//路径与django中的信息一一对应(必须一致)
            data:qs.stringify({'id':'1'}),//手动传递key值
            responseType:"json",
            method:"POST",
            success:(resp)=>
            {
                this.all=resp.data;
                console.log("返回数据:"+this.all)
             },
            fail:(resp)=>{
                console.log("获取失败")
            }
        });
    },
}

8、django后端部分代码


 class AppRed(APIView):
    def post(self, request):
        print("连接成功·")
        res = B.objects.filter(id=1)
        arr = []
        for i in res:
            content = {'姓名': i.Name, '年龄': i.Age, '性别': i.Sex}
            arr.append(content)
        ID = request.data.get('id')
        print(ID)
        return HttpResponse(arr)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Django 通常使用模板语言来与前端交互。模板语言是一种特殊的语法,用来结合 Django 的后端数据和 HTML 代码。Django 的模板系统允许你使用变量、标签和过滤器在模板中渲染数据。 例如,你可以在模板中使用如下语法来显示一个变量的值: ``` {{ variable }} ``` 你也可以使用标签来执行一些特殊的操作,比如循环或条件判断: ``` {% for item in items %} {{ item }} {% endfor %} ``` 最后,你可以使用过滤器来对变量做一些额外的处理,比如将变量转化为大写或者首字母大写: ``` {{ variable|upper }} {{ variable|capitalize }} ``` 在模板渲染完成后,Django 会将结果发送给浏览器,从而实现与前端交互。 ### 回答2: Django是一个高效的Python Web框架,也是一个服务器端框架,它与前端交互主要通过以下几种方式: 1. 封装模板引擎:Django内置了强大的模板引擎,可以将前端HTML页面与后端逻辑代码进行分离,实现前后端的交互。通过在模板中使用Django提供的模板标签和变量,可以将后端数据传递到前端页面中,完成数据的渲染和展示。 2. 提供RESTful API:Django可以使用Django REST framework来构建RESTful API,通过API可以实现前后端之间的数据交互和通信。前端可以通过发送HTTP请求来调用后端的API,获取数据或进行其他操作,后端则根据请求的方式和参数返回相应的数据。 3. 使用 Ajax 技术:Ajax是一种前端的技术,可以通过在前端页面中使用JavaScript发送异步请求,与后端进行数据交互。在Django中,可以通过定义视图函数来处理Ajax请求,并返回相应的数据,前端可以通过JavaScript的回调函数来处理返回的数据,并进行页面更新或其他操作。 4. WebSocket通信:Django可以使用第三方库来实现WebSocket通信,实现实时的双向数据传输。WebSocket可以在前后端之间建立持久性连接,实现实时通信和数据更新。通过在Django中创建WebSocket视图和处理器,前端可以使用WebSocket API与后端进行通信,并实现实时数据更新和推送。 总的来说,Django前端交互的方式有很多种,可以根据具体的需求和场景选择适合的方式进行交互,从而实现前后端的数据传递和通信。 ### 回答3: Django是一个基于Python的Web框架,它可以与前端进行交互以实现动态网页的开发。 首先,Django通过使用模板语言实现与前端交互。模板语言允许将动态数据插入到HTML模板中,从而生成最终的网页。在Django中,我们可以使用模板引擎来处理模板,通过标签和过滤器来操作模板中的数据,将数据传递给前端页面。 其次,Django提供了强大的视图功能来处理前端请求。我们可以定义视图函数,它们负责接收前端的请求并返回相应的数据。视图函数可以处理GET和POST等不同类型的请求,根据请求的类型和参数进行相应的操作,并将结果返回给前端页面。使用Django的路由系统,我们可以将请求的URL地址与相应的视图函数进行绑定,从而实现请求的分发和处理。 另外,Django还提供了表单功能来处理前端的用户输入。我们可以定义表单类来描述前端页面上的输入字段,并通过视图函数对表单数据进行验证和处理。Django的表单功能提供了丰富的验证选项,可以轻松地检查用户输入的有效性,并将错误信息返回给前端页面。 最后,Django还可以与前端进行异步交互,实现前后端的数据传输和更新。通过使用Django的视图函数和前端的JavaScript代码,我们可以实现异步请求和响应处理,从而实现更加流畅和交互性的用户体验。 综上所述,Django通过模板语言、视图函数、表单功能和异步交互等方式与前端进行交互,实现了动态网页的开发。这些功能使得开发者能够灵活地处理并响应前端的请求,从而实现了良好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值