引爆潮流技术 Vue+Django REST framework打造生鲜电商项目

引爆潮流技术
Vue+Django REST framework打造生鲜电商项目

1.Django REST framework框架介绍

  • Django REST framework框架是一个功能强大且灵活的工具包,用于构建Web API,且Django Rest Framework 是 Django 依赖扩展 Restful Api 的框架,与Django的使用风格类似,它的官方网站是:https://www.django-rest-framework.org/

2.设计API

我们先选择一个APP,比如说我选择的是schools APP,如何在设计这个APP中设计一个API接口,且在前端请求的时候,返回数据库中所有学校的详细信息呢?

  • 第一步:首先需要在项目的urls.py文件(根路由)中添加二级路由;
 url(r‘^school/‘, include(‘schools.urls‘, namespace=‘schools‘))
  • 第二步:在schools APP中的urls.py文件添加路由,指定访问路径,需要导入AllSchoolsView类,AllSchoolsView类是在view.py文件中编写,(记得执行makemigration 和 migrate操作)
url(r‘^all/$‘, AllSchoolsView.as_view(), name=‘all‘)
  • 第三步:在schools APP中的views.py文件中,编写AllSchoolsView类
from django.views.generic.base import View
import json
from django.core.serializers import serialize
from django.http import HttpResponse, JsonResponse
from .models import School

class AllSchoolsView(View):
    def get(self, request):
        schools = School.objects.all()
        # 直接将数据库中的QuerySet对象转换为json数据格式
        goods_json = serialize(‘json‘, schools)
        print(type(goods_json))
        print(‘serialize: --------{}‘.format(goods_json))
        return HttpResponse(content=goods_json, content_type=‘application/json‘)
第四步:在schools APP中的models.py文件中,根据需求创建schools_school表;
from django.db import models
from datetime import datetime

class School(models.Model):
    name = models.CharField(max_length=50, verbose_name=‘学校名称‘)
    desc = models.CharField(max_length=100, verbose_name=‘学校描述‘)
    location = models.CharField(max_length=100, verbose_name=‘学校位置‘)
    create_time = models.DateTimeField(default=datetime.now, verbose_name=‘添加时间‘)
    course_numbers = models.IntegerField(default=0, verbose_name="课程数")

  

创建数据库表前面的文章也讲过,这里就不讲了,数据库表创建好了之后我们可以往里面增加数据,可以使用命令行添加,但是这样比较麻烦,所以这里我们数据库管理和设计工具Navicat(文章最后介绍),使用这个工具我们可以手动增加修改数据库表中的数据,特别方便;
首先需要选择一个待使用的数据库,我使用的是MySql,然后创建连接,再填写一下选项就可以了:

  • 第五步:创建数据库中schools_school表的数据,可以通过Navicat来操作数据库,最后我们的数据库表示这样的:

  • 第六步:运行项目,就能得到我们想要的json数据了,访问路径是http://127.0.0.1:8000/schools/all/

3.使用Django REST framework定制Restful API

  • 第一步:首先安装好需要用到的包;
pip install djangorestframework
pip install markdown       # Markdown support for the browsable API.
pip install django-filter  # Filtering support
  • 第二步:然后在项目的settings文件的INSTALLED_APPS中添加rest_framewor;
INSTALLED_APPS = (
    ‘rest_framework‘,
)
  • 第三步:在根路由urls.py中加一条路由,用于支持浏览器访问api认证;
url(r‘^api-auth/‘, include(‘rest_framework.urls‘))
  • 第四步:创建Django的管理员,选择Tool->Run manage.py Task然后执行createsuperuser,编辑自己的用户名、邮箱和密码就可以了;
  • 第五步:在schools APP中创建serializer.py文件,在这个文件中导入serializers模块,然后创建一个序列化类(自己命名),让这个类继承serializers模块下的Serializer类;
from rest_framework import serializers
class SchoolSerializer(serializers.Serializer):
    name = serializers.CharField()
    course_numbers = serializers.IntegerField()

  

  • 第六步:在schools APP中的views.py文件中重写AllSchoolsView类,重启服务器就能得到Django REST framework返回的数据了;
from .models import School
from rest_framework.views import APIView
from rest_framework.response import Response
from .serializer import SchoolSerializer

class AllSchoolsView(APIView):
    def get(self, request):
        schools = School.objects.all()
        # many表示返回一个list, 如果不设置,则返回一个
        schools_serializer = SchoolSerializer(schools, many=True)
        return Response(schools_serializer.data)

  

4.Navicat

  • Navicat是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、 PostgreSQL、SQLite、SQL Server、MariaDB 和/或 MongoDB 等不同类型的数据库,并 支持管理某些云数据库,例如阿里云、腾讯云;
  • Navicat 提供了三种平台的版本Windows、macOS 、Linux,可以让用户连接到本地或远 程服务器,并提供一些实用的数据库工具以协助用户管理数据,包括 Navicat Cloud 协同合 作、数据建模、数据传输、数据同步、结构同步、导入、导出、备份、还原和自动运行;
  • 想了解更多用法可以查看官网,官网地址:https://www.navicat.com/en/

原文地址:https://www.cnblogs.com/itman123/p/11614013.html

时间: 2024-08-11 17:43:49

引爆潮流技术 Vue+Django REST framework打造生鲜电商项目的相关文章

Vue + Django REST framework 打造生鲜电商项目

Vue + Django REST framework 打造生鲜电商项目 需要的联系QQ:996072671 原文地址:https://www.cnblogs.com/guohuide/p/8321842.html

web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 学习

web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 学习 1.drf前期准备 1.django-rest-framework官方文档 https://www.django-rest-framework.org/ #直接百度找到的djangorestframework的官网是打不开的 2.安装依赖包 如图所示,django restframework的依赖模块,除了coreapi和django-guardian,已经在前面安装过了. 打开终端,执行安装命令

3- vue django restful framework 打造生鲜超市 - model设计和资源导入

3- vue django restful framework 打造生鲜超市 - model设计和资源导入 使用Python3.6与Django2.0.2(Django-rest-framework)以及前端vue开发的前后端分离的商城网站 项目支持支付宝支付(暂不支持微信支付),支持手机短信验证码注册, 支持第三方登录.集成了sentry错误监控系统. 本小节内容: model设计与资源引入 资源初始化 数据库设计,数据表结构 新建虚拟环境 mkvirtualenv -p=D:\softEnv

2017.7.1 慕课网-Java从零打造企业级电商项目实战:用户模块设计与开发

2. 用户模块设计与开发 2.1 要实现的功能 2.2 mmall_user表 2.3 用户模块接口设计 (1)门户-用户接口 http://git.oschina.net/imooccode/happymmallwiki/wikis/%E9%97%A8%E6%88%B7_%E7%94%A8%E6%88%B7%E6%8E%A5%E5%8F%A3 (2)后台-用户接口 http://git.oschina.net/imooccode/happymmallwiki/wikis/%E5%90%8E%E

2017.7.1 慕课网-Java从零打造企业级电商项目实战:项目初始化

1.项目初始化 1.1 新建maven项目 (1)new project -> maven -> maven-archetype-webapp project name:mmall project location:E:\lyh\file\workspace\mmall_learning\mmall (2)新增main/java,src/test,src/test/java,并且分别标记为source root,test source root(选中文件,右键mark directory as

Java从零打造企业级电商项目实战-服务端

第1章 课程介绍(导学,项目演示,课程安排,架构演进)本章详细介绍Java服务端课程的内容,项目演示(http://www.happymmall.com),然后还介绍下课程安排,最后会讲解一下高大上的架构是如何一步一步从一台服务器演变到高性能.高并发.高可用架构的过程并讲解在这过程中大型架构演进思想以及代码演进细节....第2章 开发环境安装与配置讲解.实操(linux,windows)本章将手把手领大家在windows和linux环境下安装jdk.tomcat.maven.vsftpd.ngi

Kotlin打造完整电商APP 模块化+MVP+主流框架

详情请交流  QQ  709639943 01.Kotlin打造完整电商APP 模块化+MVP+主流框架 02.Kotlin系统入门与进阶 03.Node.js入门到企业Web开发中的应用 04.精通高级RxJava 2响应式编程思想 05.Java秒杀系统方案优化 高性能高并发实战 06.Java深入微服务原理改造房产销售平台 07.快速上手Linux 玩转典型应用 08.快速上手Ionic3 多平台开发企业级问答社区 09.Java Spring Security开发安全的REST服务 10

Java开源生鲜电商平台-系统架构与技术选型(源码可下载)

Java开源生鲜电商平台-系统架构与技术选型(源码可下载) 1.  硬件环境 公司服务器 2.   软件环境 2.1  操作系统 Linux CentOS 6.8系列 2.2 反向代理/web服务器 Nginx 2.3 应用服务器 Jdk7+ Tomcat 7 2.4 数据库 Mysql 5.6.x 2.5 消息队列(可选) Rabbitmq/rocketmq 2.6 缓存(可选) Redis 3.x 3.工程构建和管理工具 1.Maven 开发人员已经很熟悉了.此处略 2.Jenkins Je

Java开源生鲜电商平台-技术方案与文档下载(源码可下载)

说明:任何一个好的项目,都应该有好的文档与设计方案,包括需求文档,概要设计,详细设计,测试用例,验收报告等等,类似下面这个图: 有以下几个管理域: 1. 开发域. 2. 管理域 3. 基线域 4. 产品域 1.  开发域包括以下几个维度: 例如:需求开发中,应该包括以下几个文档: 2,系统设计中又包括: 3. 基线域 其中需求基线又包括: 化状态:A--增加,M--修改,D--删除 目录 1       项目简介..........................................