Django-连接数据库,向前端返回数据

1.项目构建

项目构建.png

2.在Controller层进行设置路径

请求路径配置.png

文章演示中,配置的是testdb的路径。
相对应的引入的testdb

3.处理模块

处理模块.png
# -*- coding: utf-8 -*-
import json
from django.core import serializers
from django.http import HttpResponse
 
from TestModel.models import Rate
 
# 数据库操作
def testdb(request):
    # 初始化
    response = ""
    response1 = ""
    data = {}
    
    # 通过objects这个模型管理器的all()获得所有数据行,相当于SQL中的SELECT * FROM
    # list = Test.objects.all()
        
    # filter相当于SQL中的WHERE,可设置条件过滤结果
    response2 = Rate.objects.filter(region='陕西') 
    data['list'] = json.loads(serializers.serialize("json", response2))
    print(data['list'])
    
    # 获取单个对象
    # response3 = Test.objects.get(id=1) 
    
    # 限制返回的数据 相当于 SQL 中的 OFFSET 0 LIMIT 2;
    # Test.objects.order_by('name')[0:2]
    
    #数据排序
    # Test.objects.order_by("id")
    
    # 上面的方法可以连锁使用
    # Test.objects.filter(name="runoob").order_by("id")
    
    # 输出所有数据
    # for var in list:
    #     response1 += var.name + " "
    # response = response1
    return HttpResponse(data['list'])

4.数据库模型

对应数据库模型.png
from django.db import models
# 生育率的比较

class Rate(models.Model):
    region = models.CharField(max_length=255, blank=True, null=True)
    number_15_19岁 = models.CharField(db_column='15-19岁', max_length=255, blank=True, null=True)  # Field renamed to remove unsuitable characters.
    number_20_24岁 = models.CharField(db_column='20-24岁', max_length=255, blank=True, null=True)  # Field renamed to remove unsuitable characters.
    number_25_29岁 = models.CharField(db_column='25-29岁', max_length=255, blank=True, null=True)  # Field renamed to remove unsuitable characters.
    number_30_34岁 = models.CharField(db_column='30-34岁', max_length=255, blank=True, null=True)  # Field renamed to remove unsuitable characters.
    number_35_39岁 = models.CharField(db_column='35-39岁', max_length=255, blank=True, null=True)  # Field renamed to remove unsuitable characters.
    number_40_44岁 = models.CharField(db_column='40-44岁', max_length=255, blank=True, null=True)  # Field renamed to remove unsuitable characters.
    number_45_49岁 = models.CharField(db_column='45-49岁', max_length=255, blank=True, null=True)  # Field renamed to remove unsuitable characters.
    总和生育率 = models.CharField(max_length=255, blank=True, null=True)

class Rate2(models.Model):
    region = models.CharField(max_length=255, blank=True, null=True)
   

其中,使用了命令 python manage.py inspectdb
得到原有数据表的结构

5.展示

数据库中的数据为:


数据.png

访问的结果为:


展示结果.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 如果要给新年定几个关键词,我一定把“耐心”先亮出来。不论往大往小里说,耐心都是我醒脑之旅缺少的必要品性之一。 往小...
    谐振阅读 328评论 1 1
  • 整理之前写的文章 摘要 在项目开发过程中,点击一个cell,进入到下一个vc,界面是一样的,由于本身的VC是pus...
    天空像天空一样蓝阅读 2,546评论 0 0
  • 我写了大概有三五天,尽管在各个平台不太一样,但是可以看出来阅读的还是比较小的: 在今日头条一般是阅读量100; 在...
    林半夏阅读 284评论 0 2
  • 想了蛮久,终于下笔 朋友圈是为了给某个人看的,而恰好某个人不见了,工作又沾满了微信,所以删掉了自己的朋友圈,但是很...
    不听不听就不听阅读 279评论 0 0