技术栈和环境说明
本系统以Python开发语言开发,MySQL为后台数据库,采用DJANGO/flask框架开发。。
预期达到的目标
1、学习系统开发和设计的技术相关知识和工作流程;
2、学习使用 PYCHARM 工具编辑前后台代码;
3、学习使用DJANGO/flask框架实现系统的开发;
4、掌握使用 MySQL 创建和编辑数据库的方法;
本课题使用Python语言进行开发。代码层面的操作主要在PyCharm中进行,将系统所使用到的表以及数据存储到MySQL数据库中,方便对数据进行操作本课题基于WEB的开发平台
开发语言:Python
框架:flask 同时也有django的
Python版本:python3.7.7
数据库:mysql
数据库工具:Navicat
开发软件:PyCharm
浏览器:谷歌浏览器
具体实现截图
系统设计
基本理论:以软件工程方法学为指导理论,严格按照软件生命周期的问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试和软件维护这8个阶段来执行。
(1)数据库设计:设计一个高效的数据库结构,包括用户信息、车辆信息、订单信息等数据表的设计,以及数据表之间的关联关系。
(2)系统架构设计:设计系统的整体架构,包括前端页面设计、后端设计、接口设计等。
(3)用户体验设计:设计用户友好的界面,提高用户体验,包括用户注册等操作的流程设计。
(4)前端页面设计:使用Python的Web框架,如Django或Flask,可以快速开发用户友好的前端页面。
前端的数据收集及可视化研究,熟悉Django框架,python编程设计语法。
解决的问题是如何更好的设计一个简易而方便操作前端的页面,解决数据间的关系,调整数据表的结构
该系统采用面向对象的程序设计方法,该方法是一种基于结构分析的以数据为中心的程序设计方法,其主要思想是将数据及处理这些数据的操作都封装在一个叫做类的数据结构里。这种方法描述的现实世界模型贴切、合理,更符合人们认识世界的思维方法。
解决的思路
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用PyCharm 导入项目,修改配置,运行项目;
将项目中config.ini配置文件中的数据库配置改为自己的配置,然后运行;
1.运行环境:python3.7/python3.8。
2.IDE环境:pycharm+mysql5.7/8.0+;
3.数据库工具:Navicat11
4.硬件环境:windows11/10 8G内存以上
5.数据库:MySql 5.7/8.0+版本;
运行成功后,在浏览器中输入:http://localhost:8080/项目名
本系统选择编程语言。Pymysql是封装了MySQL驱动的Python驱动一个能使Python连接到MySQL的库。Python语言官方规范访问数据库的统一接口规范(Python DB-API),防止在使用不同数据库时,由于底层数据库技术不同造成接口程序紊乱的问题。通过本次系统设计可以提高自己的编程能力,强化对所学知识的理解和运用
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)
django项目结构讲解
我们最初的项目结构由五个文件组成:
manage.py:使用django-admin命令行工具的快捷方式。它用于运行与我们项目相关的管理命令。我们将使用它来运行开发服务器,运行测试,创建迁移等等。
__init.py:这个空文件告诉python这个文件夹是一个python包。
settings.py:这个文件包含了所有的项目配置。将来我们会一直提到这个文件!
urls.py:这个文件负责映射我们项目中的路由和路径。例如,如果你想在访问URL / about/ 时显示某些内容,则必须先在这里做映射关系。
wsgi.py:该文件是用于部署的简单网关接口。你可以暂且先不用关心她的内容,就先让他在那里就好了。
django自带了一个简单的网络服务器。在开发过程中非常方便,所以我们无需安装任何其他软件即可在本地运行项目。我们可以通过执行命令来测试一下它:
python manage.py runserver
myproject/ <-- 高级别的文件夹
|-- myproject/ <-- Django项目文件夹
| |-- myproject/
| | |-- init.py
| | |-- settings.py
| | |-- urls.py
| | |-- wsgi.py
| ±- manage.py
±- venv/ <-- 虚拟环境文件夹
个人心得
在外行看似简单的一个操作,背后却是数以百行的代码,有时一个项目的开发甚至需要连续十几天甚至一个月。软件开发是一个复杂而又充满挑战的过程,对于我个人而言,这是一个充满探索和成长的旅程,软件开发入行的同学很多, 但真正能坚持下去的却很少,因为软件行业加班是出了名的,并且技术更新速度非常快,可能这一刻这个技术你才掌握,下一刻他的升级替代品就已经出来了。所以,我一直提醒自己,只要你不努力,你就随时有可能被别人超越和取代。 这让我们意识到更新自己知识的重要性。
1.进一步理解软件技术与理论知识。
2.掌握软件编程的设计方法。
3.进一步理解b/s模式的开发运用。
4.掌握python软件编程,mysql数据库的使用。
5.加强实践能力训练。
6.掌握程序测试方法与技术。
7.软件编程是孤独的,也是枯燥的。
可行性分析论证
经济可行性:本网站基于Django/Flask 和MySql开发,使用开源技术平台经济成本较低,用户可以直接点击观看无需更多经济付出。
技术可行性:本系统基于python和js易于维护,同时基于浏览器操作有着跨平台的优势,Django/Flask框架较为成熟构建速度较快便于快速开发更新,MySql数据库容易上手应用广泛。
操作可行性:本系统基于HTML直观简易用户点击即可进行操作,操作十分方便简洁。
社会因素的分析:本系统为了解决用户观影的“痛点”而设计,操作大大简化,同时线上观影市场广泛符合广大用户的实际需求。
Django用Python编写,属于开源Web应用程序框架。采用(模型M、视图V和模板t)的框架模式。该框架以比利时吉普赛爵士吉他手詹戈·莱因哈特命名。该架构的主要组件如下:
1.用于创建模型的对象关系映射。
2.最终目标是为用户设计一个完美的管理界面。
3.是目前最流行的URL设计解决方案。
4.模板语言对设计师来说是最友好的。
5.缓存系统。
Flask提供了更大的灵活性和简单性,适合小型项目和微服务。Django则提供了更多的内置功能,适合大型项目。Flask让开发者更多的控制其组件,而Django则遵循开箱即用的原则
Flask 具有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
源码获取
文章最下方名片联系我即可~
✌💗大家点赞、收藏、关注、评论啦 、查看✌💗
👇🏻获取联系方式👇🏻