数据服务|第四章(Django绑定数据库并发布数据-[基于Vue、Django、supermap iserver和gerapy的生态旅游web系统开发实例])

【数据服务|第四章(Django绑定数据库并发布数据-[基于Vue、Django、supermap iserver和gerapy的生态旅游web系统开发实例])】本章介绍如何利用Django绑定mysql数据库生成数据表单,具体步骤及代码如下:

#1.Django.settings绑定mysql数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'ecotourism', 'USER':'root', 'PASSWORD':'', 'HOST':'127.0.0.1', 'PORT':'3306', } }#2.app.models中设置数据库字段 from django.db import models from django.contrib.auth.models import User class Company(models.Model): name=models.CharField(max_length=50) number=models.BigIntegerField(primary_key=True) type=models.CharField(max_length=20) location=models.CharField(max_length=100) lnt=models.CharField(max_length=50) lat=models.CharField(max_length=50) createyear=models.BigIntegerField() createmonth=models.BigIntegerField() createday=models.BigIntegerField() assets=models.CharField(max_length=50) boss=models.CharField(max_length=20) area = models.CharField(max_length=100, null=True, blank=True) def __str__(self): return self.name class Meta: verbose_name='企业统计'#3.要实现后端数据与前端的交互,需要在app中创建seriallizers文件,app.seriallizers设置如下: from rest_framework import serializers from .models import Companyclass CompanySerializer(serializers.ModelSerializer): class Meta: model=Company#属性字段model将模型Product与ModelSerializer对象绑定 fields='__all__'#fields设置哪些字段转换为序列化换字段#4.依次在终端输入命令 python manage.py makemigrations python manage.py migrate

输入命令后mysql中会生成相应表单
数据服务|第四章(Django绑定数据库并发布数据-[基于Vue、Django、supermap iserver和gerapy的生态旅游web系统开发实例])
文章图片

接着需要将数据库数据发布成服务前端才能接收,需要在Django按以下设置:
#1.Django.settings中要设置跨域访问corsheaders INSTALLED_APPS = [ #'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', #'django.contrib.messages', #'django.contrib.staticfiles', 'User', 'supervision', 'emergency', 'envirment', 'analysis', # 设置跨域访问 'corsheaders', # 设置API框架 'rest_framework', 'rest_framework.authtoken' ] CORS_ALLOW_CREDENTIALS = True #允许请求是否携带cookie CORS_ORIGIN_ALLOW_ALL = True #允许所有域名发送请求 CORS_ORIGIN_WHITELIST = ('http://localhost:8080',) #部署Vue的服务器ip地址CORS_ALLOW_METHODS = ( #设置http请求方式 'DELETE', 'GET', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'VIEW', )CORS_ALLOW_HEADERS = (#设置非标准的请求头 'XMLHttpRequest', 'X_FILENAME', 'accept-encoding', 'authorization', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', )#2.在Django.views中设置: from django.shortcuts import render from .models import Company,Licence,Hygiene,Complain # Create your views here. from .seriallizers import CompanySerializer,LicenceSerializer,HygieneSerializer,ComplainSerializer from rest_framework.views import APIView from rest_framework.response import Responseclass company(APIView): # GET请求 def get(self, request): q = Company.objects.order_by('number') serializer = CompanySerializer(instance=q, many=True) return Response(serializer.data)

如此运行Django:python manage.py runserver 8010就可看到(该图为试例数据)
数据服务|第四章(Django绑定数据库并发布数据-[基于Vue、Django、supermap iserver和gerapy的生态旅游web系统开发实例])
文章图片


上一章-第三章:登录页面-[基于Vue、Django、supermap iserver和gerapy的生态旅游web系统开发实例]
下一章-第五章:element、echarts及axios-[基于Vue、Django、supermap iserver和gerapy的生态旅游web系统开发实例]

    推荐阅读