洗礼灵魂,修炼python(82)--全栈项目实战篇(10)—— 信用卡+商城项目(模拟京东淘宝)...

mac2022-06-30  79

本次项目相当于对python基础做总结,常用语法,数组类型,函数,文本操作等等

本项目在博客园里其他开发者也做过,我是稍作修改来的,大体没变的

 

项目需求:

信用卡+商城:

A、信用卡(类似白条/花呗)1.额度15000以上或者自定义2.可以提现,手续费5%3.账户信息,信用卡和购物车共用4.支持账户间转账5.支持购物结账功能6.有还款功能7.记录每月日常消费流水8.每个重要步骤都要记录到日志文件里(用logging模块)9.有管理员功能,添加账户,冻结账户,调整用户额度(可选)10.每月19号出帐,27号为最后还款日,逾期未还,按利息为欠款总额的万分之5每日计算B、在线购物商场1.与信用卡信息对接,支持信用卡结账2.登录验证用装饰器3.支持多账户登录4.有多个页面,个人主页,电脑,手机,日用品主页,具体多少个主页随意(结合前面学到的)5.每进入一个页面,分别打印页面下的产品6.个人页面,电脑,手机等页面可以退回到主页 (类似前面的多级菜单同样的功能)

分析:

本次项目由于项目比前面的难度有提升,并且涉及到贴合以后真正的开发,很多设置都是可修改,并不是前面的项目那样,单个文件就搞定的。要求不用多说,就和常识里使用到的类似京东的白条,支付宝的蚂蚁花呗,然后加上一个购物商场,功能也不用多说。但是文件很多,由此,画一个流程图解释:

 

这个流程图我使用的百度脑图画的,分享链接:http://naotu.baidu.com/file/8ecc09fd00d5016349e4e7f72583ec48

画得比较简单,每个文件都有备注是干嘛的。

 

其实这个没什么难度,流程还是那些,登录验证,交易,更新数据,结束

流程图:

剩下的就是每个文件的编写,以及如何让这些文件联系起来了

 

这里说个知识点:

# 将当前py文件的上级文件夹目录的路径添加到模块索引列表内 import sys,os path = os.path.dirname(__file__) sys.path.append(path)

 

以上的代码则可以把你的文件作为py文件导入并且不怕因为文件路径被修改而导致导入失败了

 

 

代码:

项目包下载链接:传送门

需要的文件:

 

 

card.py:

#!usr/bin/env python #-*- coding:utf-8 -*- # author:yangva # datetime:2018/1/19 0019 21:41 import os,sys base_dir = os.path.dirname(os.path.dirname(__file__)) sys.path.append(base_dir) from libs import main if __name__ == '__main__': main.run()

 

main.py:

#!usr/bin/env python #-*- coding:utf-8 -*- # author:yangva # datetime:2018/1/19 0019 21:43 import os,sys base_dir = os.path.dirname(os.path.dirname(__file__)) sys.path.append(base_dir) from libs import auth from libs import logger from libs import transaction from libs import accounts from conf import settings # 用户数据,作为标志位以及缓存用户信用卡信息 account_data = { 'account_id':None, 'is_auth':False, 'data':None } # 用户日志 account_log = logger.logger('account') # 交易日志 transaction_log = logger.logger('transaction') # 账户信息 def userinfo(data): ''' print user of data :param data: user data :return: ''' for k,v in data.items(): print(k,':',v) # 查询账单 def select(data): ''' check transaction data :param data: user data :return: ''' check_path = '%s/log/transaction.log'%settings.BASE_DIR with open(check_path) as f: for i in f.readlines(): if str(data['id']) in i: print(i) # 退出 def logout(data): ''' quit the programs func :param data: user data :return: ''' print('account [%s] quit...'
转载请注明原文地址: https://mac.8miu.com/read-13680.html
最新回复(0)