一个Django后端的例子(二)

我们的后端实现的功能是给前端提供返回数据,需要有数据库存储数据,接口实现对数据的操作,然后前端调用我们的接口可以获取到数据。这里我们实现一个工具列表的请求功能。

一:数据层开发

1)首先去Myapp的model.py文件去创建一张表,定义两个字段,工具名字和创建工具的日期

class DB_tool(models.Model):
    name = models.CharField(max_length=30,default='')
    stime = models.CharField(max_length=20,default='')
    def __str__(self):
        return self.name

2)同步表结构,在项目根目录执行

python3 manage.py makemigrations
python3 manage.py migrate

3)将数据表在admin.py文件中进行注册

admin.site.register(DB_tool)

经过注册的表就可以在Django后台管理中看到了,在项目根目录启动Django 

python3 manage.py runserver 

 打开后台测试:127.0.0.1:8000/admin/

我们可以在管理后台实现对数据表的增删改查,我们点进去添加几条数据

二:后端接口开发

1)在view.py 文件中写后端接口代码实现逻辑

import json
from django.http import HttpResponse
from Myapp.models import *


# Create your views here.
def get_tools(request):
    tools = DB_tool.objects.all()
    res = {}
    res['tools'] = list(tools.values())
    return HttpResponse(json.dumps(res),content_type='application/json')

这段代码的实现逻辑是:从DB_tool中获取全部数据,然后又把它整理后塞到了一个字典res中。

最后又把这个res字典变成json字符串,返回给了浏览器前端。这样写可能有部分朋友看不懂。所以咱到控制台一步步操作看看咱做了啥处理,根目录下输入

python3 manage.py shell

输入如下指令

from Myapp.models import *
tools = DB_tool.objects.all()
print(tools)

可以看到,输出结果是一个QuerySet类型的结果,并且4条数据只显示了一个字段

我们看看tools.value()会输出啥

我们可以看到还是QuerySet类型的结果,但4条数据显示了所有字段。我们还可以看出虽然我们只创建了两个字段,但是id是Django默认给我们创建的

我们看看list(tools.value())会输出啥

我们可以看到数据类型由QuerySet变成了list

然后我们把这个list赋给了res字典的tools键值。然后将字典转成json,传送给前端

这个接口的后端功能虽然完成了,但是url路由等还没有指定

2)urls.py中写路由

path('get_tools/',get_tools),

3)启动Django服务

在项目根目录执行

python3 manage.py runserver 

然后浏览器输入

http://127.0.0.1:8000/get_tools/

可以看到接口的返回结果了

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值