码字不易转载请注明出处,以及链接地址
最近学校实训,要求使用python制作一个简单的银行系统(就是在控制台输出的那种形式),个人觉得不太正规,然后就自己使用了flask框架搭建了一个简单的银行系统网站。
由于之前没有接触过python这次实训我们首先是学习的python的基础及语法知识,接下来才开始着手开始项目。
项目分为前端、后台;前端就是templates和static目录分别放置HTML文件和静态资源;后台文件有app.py文件(用来编写后台接口与spring项目中的controller层类似)和functions.py文件(用来写各种方法以及业务逻辑与spring项目中的service层和dao层类似);
此外,还有一个存储数据的文件userdata.txt文件。目录如图所示:
首先是写了用户登录包括其界面及功能实现:
界面是我从网上找的,如果是自己写用来熟悉的话可以自己写一个表单(因为最后我们使用表单提交的),总之我们的重点不在于页面是否美观。
functions.py方法文件中:
def check_password(card,password):
print(card)
print(password)
file_object=open('userdata.txt','r')#读取数据文件
data = json.load(file_object)
#使用json.load读取到内存中,在这之前要引入json模块“import json”
if card in data.keys():
if str(password) == data[card][0]:
print(data[card][0])
print("成功登陆!")
return 1
else:
print("卡号或密码错误--:(")
return 0
else:
print("卡号或密码错误--:(")
return 0
在app.py文件中,与前台的接口:
@app.route('/index')#这里写入的是接口名称,即URL地址中的名称
def hello_world(): #这相当于是前台界面的映射,输入这个接口才能看到这个页面
return render_template('index.html') #比如127.0.0.1:5000/index
@app.route('/denglu',methods=['post']) #methods,是前台form表单提交的方式,也可以写成
#['post','get']
def come():
username=request.form.get('username') #接收前台传来的值
password=request.form.get('password')
is_login = func.check_password(username, int(password))
if is_login==1:
session['username'] = username #若验证成功,则将卡号(用户名存到session中)
return render_template('login.html')#这里是返回页面的意思
elif is_login==0:
return render_template('index.html')
另外需要在app.py文件顶部加入这些: