Python今日美食推荐系统 uniapp小程序的设计与实现

具体实现截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本系统技术思路

首先在网上查询了解学生会网站及其系统的功能,了解前后端分离系统搭建所需具备的知识点;构思大概系统结构及功能后,在csdn b站等视频网站、官方文档或文献学习相关编程技术进行系统结构的梳理和搭建,如有不懂的地方询问指导老师,理清自己的思路并改正。
②前端开发选择:Vue+uniapp。
②后端开发选择:python、django/flask。
③数据库选择:MySQL。
④开发工具选择:pycharm、Navicat for MySQL。
HBuilderX,H是HTML的首字母,Builder是构造者,X是HBuilder的下一代版本。我们也简称HX
HX轻如编辑器、强如IDE的合体版本。
HX支持java插件、nodejs插件,并兼容了很多vscode的插件及代码块。
还可以通过外部命令,方便的调用各种命令行功能,并设置快捷键。
如果你习惯了其他工具(如vscode或sublime)的快捷键,在菜单工具-快捷键方案中可以切换。
本系统的开发与设计是基于vue为前端页面核心框架为django/flask,技术方面主要采用了Html、Js、CSS3、python、Mysql。
本课题使用Python语言进行开发。代码层面的操作主要在PyCharm中进行,将系统所使用到的表以及数据存储到MySQL数据库中,方便对数据进行操作本课题基于WEB的开发平台

本项目还支持其他技术

微信小程序前端开发:运用微信开发者工具,设计简洁美观、交互友好的界面。实现页面布局、组件设计、用户交互效果等,确保在不同移动设备上的兼容性和显示效果。
后端开发:选择合适的后端开发语言和框架,如java、PHP、Node.js、Django、Spring Boot、SSM、Springcloud微服务等,处理业务逻辑和数据交互。
数据库设计:设计数据库表结构,选择合适的数据库管理系统,如MySQL、MongoDB等,实现数据库操作。
系统部署与测试:将前端代码部署到微信小程序平台,部署后端服务到云服务器或其他托管平台,进行系统整体测试和优化。

本系统开发语言以及框架介绍

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,其设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
Django也是一个MVC框架。但是在Django中,控制器接受顾客输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式:

Flask是目前十分流行的web框架,采用Python编程语言来实现相关功能。它被称为微框架(microframework),“微”并不是意味着把整个Web应用放入到一个Python文件,微框架中的“微”是指Flask旨在保持代码简洁且易于扩展,Flask框架的主要特征是核心构成比较简单,但具有很强的扩展性和兼容性,程序员可以使用Python语言快速实现一个网站或Web服务。一般情况下,它不会指定数据库和模板引擎等对象,顾客可以根据需要自己选择各种数据库。
HBuilderX,H 是 HTML 的首字母,Builder 是构造者,X 是 HBuilder 的下一代版本。我们也简称 HX。 HX 是轻如编辑器、强如 IDE 的合体版本。代表了新一代开放服务的方向,基于持续更新的云知识库的高效开放工具,让开发者更加专注于解决问题本身,让技术服务变得更智能。
uni-app(uni,读you ni,是统一的意思) [2]是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、鸿蒙(HarmonyOS)以及各种小程序、快应用等多个平台。 [1-2]
MySQL使用的SQL语言是访问数据库较为常用的标准化语言,它可以通过一些简单的操作从而实现对复杂的功能进行查询,并且具有良好的可扩展性和可维护性等优点,MySQL软件非常的适合用作中小型网站发展的网站数据库,因为它的体积小,速度快,总体拥有成本低,尤其是开放源码。

小程序框架以及目录结构介绍

小程序自身分为两个主要部分独立运行:view 模块和 service 模块。在开发者工具中,它们独立运行于不同的 webivew tag 中。
view 模块负责前端界面显示,它由 wxml 和 wxss 转换后代码以及微信提供相关辅助模块组成。 一个 view 模块对应一个 页面, 小程序支持同时多个 view 存在。
service 模块负责后台逻辑,它由 js 代码以及微信提供的相关辅助模块组成。 一个应用只有一个 service 进程,它同样也是一个页面。它在程序生命周期内后台运行,service 模块通过与 view 模块实现不同但接口格式一样的微信JSBridge 对象跟后台通信。
小程序需要使用微信开发者工具来进行开发,同时最常用的参考文档是微信小程序官方文档。在开发者工具中包含了模拟器、调试器等,内容很全面。也可以用云模式来在腾讯云进行后台开发。使得开发者不用搭建数据库等,专注于逻辑设计,简化后台设计,另外为了更好的展示小程序可以用一些工具插件,例如wx-charts和echarts等,这两个都可用于图形化展示统计数据。

个人见解:

对于微信这样拥有9亿以上用户的超级入口来说,微信小程序从出现就受到众人的关注。作为微信主推的产品,微信小程序在微信里面存在多个流量入口,在微信的搜索框中的权重也非常大,这对于连接线上线下,用户引流,展示企业品牌,扩张获客半径具有重大意义。相对于APP而言,微信小程序的开发成本很低,大大节约了手机的使用空间,客户粘性更强。
该系统是基于微信的小程序,通过微信小程序后台管理系统配置小程序数据请求的基础设置,使用微信小程序原生组件和API进行开发,用户通过HTTPS协议链接到服务器,数据传输格式是JSON格式,图片信息、字体信息保存在服务器端,微信小程序不支持除image组件外的使用本地图片路径,同时这对于用于加载图片进行一定程度的优化。

python-flask核心代码部分展示

import os
from flask import Blueprint
from utils.py_file_check import pyFileCheck

main_bp = Blueprint('main', __name__, static_folder='static')

import_str = 'from . import  '
view_tuple = set()
exclude_list = [
    # "common.py",
    "__init__.py"
]
dir = os.path.join(os.getcwd(), "api/main")
dir = dir.replace("unit_test/", '') if "unit_test/" in dir else dir
for i in os.listdir(dir):
    if i not in exclude_list and pyFileCheck(i) == True:
        current = i.split(".", 1)[0]
        view_tuple.add(current)
import_str += ','.join(view_tuple)
print(import_str)
exec(import_str)

python-django核心代码部分展示

# coding:utf-8
__author__ = "ila"

from django.http import JsonResponse

from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes


def users_login(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")
        if req_dict.get('role')!=None:
            del req_dict['role']
        datas = users.getbyparams(users, users, req_dict)
        if not datas:
            msg['code'] = password_error_code
            msg['msg'] = mes.password_error_code
            return JsonResponse(msg)

        req_dict['id'] = datas[0].get('id')
        return Auth.authenticate(Auth, users, req_dict)


def users_register(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")

        error = users.createbyreq(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)

源码获取详细视频演示或者查看其他版本:文章底部获取博主联系方式!

本系统包修改时间和标题,包安装部署运行调试,就是在你的电脑上运行起来

需要成品或者定制,加我们的时候,记得把本页面标题截图发下我,方便查找相应的源代码或者其他版本。不满意的可以定制
文章最下方名片联系我即可~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值