一、概述

本文主要介绍个人如何一步一步搭建属于自己的车型数据库小程序。主要包含如下内容:

1. 搭建车型数据库;

2.搭建车型数据库model;

3.创建车型数据库接口API;

4.搭建小程序;

5.API与小程序部署;

本文涉及的技术栈:MySQL、Python、Peewee、FastAPI、Uni-app、小米球Ngrok地址映射;

二、技术实现;

1. 搭建车型数据库;

本文假设本地电脑已经按照MySQL,搭建车型数据库的前提是需要获取到车型数据库,数据库例子可以在百度云下载:链接: https://pan.baidu.com/s/1Tqvm1xVdFcF2mDAzeXGKyw 提取码: yc4e 

例子截图如下:

使用数据库可视化软件Navicat可以导入文件夹en_mysql的数据库(假设创建数据库名称car_db),共三个表,分为品牌表、车系表、车型配置表;这样就搭建好车型数据库了;

2.搭建车型数据库model

    使用Python库Peewee搭建数据库model,peewee是一个非常简洁的ORM库,支持sqlite、mysql、postgresql等数据库,文档路径:http://docs.peewee-orm.com/en/latest/index.html

使用方法类似于Django 自带的ORM;Peewee比较方便的是可以通过已有数据库自动生成数据库模型;通过以下命令可以生成car_db的三个表的模型。

python -m pwiz -u 'root' -P 'password' -e mysql car_db >models.py

具体使用方法可以参考一下链接或者自行搜索:http://docs.peewee-orm.com/en/latest/peewee/playhouse.html#pwiz

执行以上命令后,会在命令路径自动生成文档models.py,里面代码如下面截图(生成model后,尽量不要手动修改,因为如果你再重新生成,文件又重新做了,修改内容就无法保留):

生成模型后就可以使用模型操作数据库了(如查询、筛选数据),具体操作请参考上面文档;

3.创建车型数据库接口API

    使用Python库FastAPI搭建数据库的API接口,有了API接口,就可以通过网路访问查询数据库的数据了。FastAPI是一个非常方便API框架,官网的介绍如下:

文档路径:https://fastapi.tiangolo.com/

它可以通过简单的几行代码,就可以搭建API接口,类似于Flask。本人的部分代码供参考:

# -*- coding: utf-8 -*-
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from model import ConfigBrandEn,ConfigSeriesEn,ConfigCarEn,ColNameEnToCnapp = FastAPI()app.add_middleware(CORSMiddleware,allow_origins=["*"],allow_credentials=True,allow_methods=["*"],allow_headers=["*"],
)@app.get("/config/brands")
def get_brands():brands = ConfigBrandEn.select().order_by(ConfigBrandEn.p_shouzimu, ConfigBrandEn.p_pinpai)result_list = []the_group = []for b in brands:if not b.__data__["p_shouzimu"] in the_group:the_group.append(b.__data__["p_shouzimu"])result_list.append({"show_group":1,"show_list":0,"p_shouzimu":b.__data__["p_shouzimu"]})b.__data__["show_list"] = 1b.__data__["show_group"] = 0result_list.append(b.__data__)return result_list@app.get("/config/getseries/{brand_id}")
def get_series(brand_id: int):the_series = ConfigSeriesEn.select().where(ConfigSeriesEn.p_pinpai_id==brand_id).order_by(ConfigSeriesEn.p_changshang.desc(), ConfigSeriesEn.p_chexi)result_list = []the_group = []for b in the_series:if not b.__data__["p_changshang"] in the_group:the_group.append(b.__data__["p_changshang"])result_list.append({"show_group":1,"show_list":0,"p_changshang":b.__data__["p_changshang"]})b.__data__["show_list"] = 1b.__data__["show_group"] = 0result_list.append(b.__data__)return result_list

4.搭建小程序

    小程序采用Uni-app进行实现,主要是实现品牌页、车系页、车型页、配置页的简单页面,如需要更加丰富的功能,可以自行添加;

Uni-app是可以跨多端的Vue框架,一次编码可以实现H5、APP、小程序(微信、头条等)的代码;官网:https://uniapp.dcloud.io/,

本人做的页面效果如下,代码编写可以参考官网文档进行学习。

5.API与小程序部署

   部署的原理下图:

   

 小程序的部署

使用“微信开发者工具”进行部署,部署方法网络上有很多教程,在Uni-app的Hbuild X 编写好代码后,可以生成微信小程序代码,并打开微信开发者工具进行调试部署;

部署需要在微信小程序官网上注册,官网注册链接:https://mp.weixin.qq.com/cgi-bin/registermidpage?action=index&lang=zh_CN&token=,微信小程序文档链接:https://developers.weixin.qq.com/miniprogram/dev/framework/;注意微信小程序是需要采用HTTPS请求的;

Ngork代理

Ngork代理的作用是本地电脑可以通过外网访问FastAPI的接口,从而查询到车型数据库的数据;Ngork推荐采用“小米球Ngrok”,网址:http://ngrok.ciqiuwl.cn/,

通过注册账号,开通通道,就可以拥有专用的本地访问的网址,通过对应的port端口就可以与FastAPI关联;

FastAPI启动服务的命令:

uvicorn main:app --reload --port 8087

只要Ngork的配置文件“ngrok.conf”的通道设定与FastAPI一致port (如8087)就可以监听了;我的设置请参考:

Ngork的启动命令,官网有介绍:

./ngrok -log=ngrok.log -config ngrok.conf start httptun httpstun

三、总结

以上就是本人搭建车型数据库小程序的一点经验分享,希望对大家有帮助;

一步一步搭建车型数据库小程序相关推荐

  1. 一步一步教你搭建外卖cps小程序(分销裂变版本)附源码

    美团/饿了么外卖CPS联盟返利公众号小程序裂变核心源码 源代码地址 http://y.mybei.cn 步骤 下载以上源代码到本地 http://y.mybei.cn 修改为你自己的微信小程序,打开 ...

  2. 微信读书登陆界面java_(JAVA后端)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好...

    转载地址:(JAVA后端)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好 转载请注明出处 一.环境搭建 相关环境软件:JDK1 ...

  3. 第一章搭建uni-app 记账小程序

    前言: 这一季会涉及到的内容 <vue+flutter+.net core +golang+uni-app> 这一季的内容准备用5年的时间来积累完善,希望通过交流得到指点,感恩?‍ 目录 ...

  4. 使用LINUX云服务器搭建web、小程序服务器MySql+Java+Tomcat

    记小白第一次使用LINUX搭建web.小程序服务器 MySql+Java+Tomcat (很全的安装过程收集整合) 一.使用LINUX搭建服务器的原因 准备工具 二.下载配置 2.1 阿里云服务器的购 ...

  5. java mvc 小程序_[Java教程]Spring MVC 的环境搭建和入门小程序

    [Java教程]Spring MVC 的环境搭建和入门小程序 0 2017-02-17 00:00:16 1.1.下载spring框架包. 1.1.1百度搜索Spring Framework. 进入s ...

  6. python小程序源代码-Python数据库小程序源代码

    源代码: # dict1 是 字典 , 用来对应相应元素的下标,我们将文件转成列表,对应的也就是文件的下标,通过下标来找文件元素 dict1 = {'sort':0 , 'name':1 ,'age' ...

  7. 外卖优惠券返利系统外卖返利公众号搭建cps系统小程序SaaS源码

    外卖优惠券返利系统外卖返利公众号搭建cps系统小程序SaaS源码 美团/饿了么外卖CPS联盟返利公众号小程序裂变核心源码 源代码地址 https://gitee.com/caonima008/coup ...

  8. (微信小程序)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好

    转载地址:(微信小程序)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好 转载请注明出处 作者:Happy王子乐 个人网站(整理 ...

  9. 微信小程序怎么取mysql,微信小程序怎么读取数据库?小程序如何读取数据?

    微信小程序怎么读取数据库?小程序如何读取数据?各位微信用户们,如果你再开发微信小程序的过程中,需要微信小程序读取数据库的话,就跟着小编往下看微信小程序怎么读取数据库. 微信小程序怎么读取数据库? 微信 ...

  10. python完整程序源代码_Python数据库小程序源代码

    源代码: # dict1 是 字典 , 用来对应相应元素的下标,我们将文件转成列表,对应的也就是文件的下标,通过下标来找文件元素 dict1 = {'sort':0 , 'name':1 ,'age' ...

最新文章

  1. 什么是CS/BS(一)转
  2. ios 后台唤醒应用_手机应用后台不断唤醒,耗电大,荣耀手机只需简单几步就可以解决...
  3. python云资源管理_python管理云服务器
  4. banner特效php,jQuery自适应通栏宽屏banner幻灯片切换特效
  5. 千山独行-一个人的创业路(连载五)
  6. Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTag
  7. 【Python】如何解决“TabError: inconsistent use of tabs and spaces in indentation”问题
  8. ACM题目中输入数据的处理(C++语言版)
  9. 14种神笔记方法,只需选择1招,让你的学习和工作效率提高100倍!
  10. LaTeX 学位论文排版 章节目录设置
  11. 解决手机应用安装失败却占内存
  12. 面试官的一些问题,给予小伙伴们一些帮助。
  13. 不错的学习金字塔模型
  14. OpenGL-GLSL语言入门教程(1)
  15. java猜单词游戏_Java_初级编程,猜英文单词游戏
  16. codeforces 1197D. Yet Another Subarray Problem 动态规划
  17. 企业年会直播该怎么玩
  18. Excel中vba 立即窗口使用方法详细介绍
  19. 高数第六章 定积分的应用
  20. 关键路径--经典算法

热门文章

  1. 语法分析——自顶向下分析方法
  2. 2022电工(初级)考试模拟100题模拟考试平台操作
  3. atv320说明书_施耐德变频器参数设置ATV320学习资料
  4. dp hp oracle 备份软件_HP DP备份软件设置
  5. 密码学——培根密码和栅栏密码
  6. jmeter 变量的使用
  7. Vue引入百度地图API,添加点击地图拾取坐标并且标记和地址搜索功能
  8. 并联串联混合的电压和电流_正确地把电池串联和并联起来
  9. Camtasia2020注册机顶级屏幕录像视频编辑软件安装教程
  10. python100份教材/教程分享学习,初中高级总有适合你的