栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

梅科尔工作室-Django学习笔记(二次学习)(2)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

梅科尔工作室-Django学习笔记(二次学习)(2)

这次学习的是将Django与HarmonyOS前端交互起来

前端搭建

首先建立一个基础页面(这里因为主要学习的是交互方法,所以界面没有做太多修饰)

    
        Welcome
    
    
        
    
    
        {{winfo}}
    

js请求 需要准备的库:

qs库:通过npm install querystring获取,nmp由node.js自带

fetch:提供了一些js的接口,可以用于请求与响应。软件自带库,介绍网址:

使用 Fetch - Web API 接口参考 | MDN (mozilla.org)

import fetch from '@system.fetch';
import qs from 'querystring';
export default{
    data:{
        winfo:"",
    },
    onClick(){
        fetch.fetch({
            url:'http://“自己的请求端口”/app01/AppReq1/' ,
            data:qs.stringify({'id':'1'}),
            responseType:"json",
            method:"POST",
            success:(resp)=>{
                this.winfo = resp.data;
                console.log("返回数据:"+this.winfo)
            },
            fail:(resp)=>{
                this.winfo = resp.data;
                console.log("获取数据失败:"+this.winfo)
            }
        });
    }
}
后端Django搭建

然后我们转入django后端,部署urls(其中app01是之前创建过的App)

项目目录

 连接数据库的操作在上两篇文章已讲述,详情移步这里:

(32条消息) SQL 学习笔记(一)_冰潔的博客-CSDN博客

(32条消息) Django学习笔记(二次学习)(1)_冰潔的博客-CSDN博客

接下来我们开始url和view的部署 djangoProject1.urls
from django.urls import path,include
from app01 import views


urlpatterns = [
    path('admin/', admin.site.urls),
    path('app01/', include('app01.urls'))
]
app01.urls
from django.contrib import admin
from django.urls import path
from . import views

app_name = 'app01'

urlpatterns = [
    path('AppReq1/', views.AppReq1.as_view(), name='AppReq1'),
]
app01.views
import pymysql
from django.shortcuts import HttpResponse
from rest_framework.views import APIView
from app01.models import Book

try:
    con = pymysql.connect(host='127.0.0.1',
                          port=3306,
                          user='youname',
                          password='youpassword',
                          db='youmysqul',
                          charset='utf8')
    print("连接成功")
except pymysql.Error as e:
    print('数据库连接失败' + str(e))


class AppReq1(APIView):
    def post (self, request):
        result = Book.objects.all()
        arr = []
        for i in result:
            content = {'序号': i.id,
                       '书名': i.title,
                       '出版社': i.publish,
                       '出版日期': i.pub_date}
            arr.append(content)
        # print(arr)
        # print(type(arr))
        id = request.data.get('id')
        # title = request.data.get('title')
        print(id)
        return HttpResponse(arr)

前提需要引入APIView接口,这样在视图中不会报错。

首先要有基础的库,在终端中输入:

pip install djangorestframework

在view视图中引入APIView(更方便的完成响应)

from rest_framework.views import APIView

运行

首先在django终端中输入

python manage.py runserver + 端口号

 然后我们返回到harmonyos前端,点击preview,然后点击“请求响应”

 数据获取成功!

后端也会收到前端返回过来的数据

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011587.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号