Django第一课 银行账户管理系统开发

Posted 笔触狂放

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django第一课 银行账户管理系统开发相关的知识,希望对你有一定的参考价值。

概念

django服务器开发框架是一款基于Python编程语言用于web服务器开发的框架,采用的是MTV架构模式进行分层架构。

项目的搭建

1.打开pycharm开发软件,打开开发软件的内置dos窗口操作命令行

在这里指定项目存放的磁盘路径,并使用创建django项目的指令创建当前项目,这里项目中使用django-admin startproject KCSJProject 创建了一个项目名为 KCSJProject的django服务器项目。

当回车时,只要编辑窗口未显示报错信息,则说明当前项目创建成功,在选择pycharm开发软件的左上角file》open找到打开刚刚创建的项目进行加载出来即可。

2.加载显示当前项目后,再一次进入内置dos窗口,在当前项目中创建子项目,创建子项目的指令如下:python manage.py startapp AccountSystem,执行以上指令,则在当前项目中创建了 AccountSystem子项目

将当前子项目名称添加至主项目的setting.py文件中进行管理

3.在 AccountSystem中创建templates文件夹目录,用于存放创建的html模板页面

在templates文件夹中new》html file,定义index.html作为当前子项目的首页,其代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首 页</title>
    <style type="text/css">
        input
            width: 100px;
            padding: 10px;
            border-width: 0px;
            border-radius: 10px;
            color: white;
        
        input.btn_add
            background-color: cornflowerblue;
        
        input.btn_sel
            background-color: coral;
        
        input.btn_add:hover
            background-color:#3D69ED ;
        
        input.btn_sel:hover
            background-color: #FF5A20;
        
    </style>
    <script type="text/javascript">
        //定义方法,用于用户点击查询账户按钮,触发该方法
        //去调用Accounts/地址
        function btn_sel() 
            location.href="Accounts/"
        

        //定义方法,用于用户点击开通账户按钮,触发该方法
        //去调用add/地址
        function btn_add() 
            location.href="add/"
        
    </script>
</head>
<body>
    <div align="center" >
        <h1>银行账户管理系统</h1>
        <div>
            <input type="button" class="btn_add" onclick="btn_add()" value="开通账户">
            <input type="button" class="btn_sel" onclick="btn_sel()" value="查询账户">
        </div>
    </div>
</body>
</html>

 3.在主项目中的urls.py文件中,定义浏览器默认访问地址

表示当开启django服务器后,进入django服务器根路径即可匹配当前浏览器地址,并立即执行子项目中的views.py文件中定义的index方法,其代码如下

 

表示跳转打开指定的index.html页面显示在浏览器上,接着再次打开内置的dos窗口,输入python manage.py runserver指令开启django服务器,

当显示当前网址时,即为django服务器根路径地址,我们可以选择任意浏览器进行访问该网址,即可看到我们自己制作的首页界面的显示

 

 

Sqlite数据库的搭建以及表的创建

接着我们需要打开子项目中的models.py文件,在该文件中创建与数据表产生对象关系型映射的python类,其代码如下:

from django.db import models

# Create your models here.
# 创建银行账户类,用于做数据库迁移生成数据库银行账户表
# 将Account继承至models
class Account(models.Model):
    #密码  设置该字段类型为varchar类型,最大长度为20,不允许为空
    password=models.CharField(max_length=20,blank=False)
    # 姓名  设置该字段类型为varchar类型,最大长度为20,不允许为空
    name=models.CharField(max_length=20,blank=False)
    # 身份证号  设置该字段类型为varchar类型,最大长度为20,不允许为空
    personId=models.CharField(max_length=20,blank=False)
    # 余额,设置该字段类型为float类型,表示可以存储带有小数的数字,不允许为空
    blance=models.FloatField(blank=False)
    # 开户日期,设置该字段类型为varchar类型,表示可以存储年月日的日期,不允许为空
    openDate=models.CharField(max_length=20,blank=False)

 该类需要通过python manage.py makemigrations指令的执行,将models.py文件中定义的模型类生成迁移文件,因此我们再次打开内置的dos窗口,执行以上指令

当迁移文件生成成功后,则在该文件夹中可看到迁移后的文件代码的生成

 

通过以上代码可以观察出,我们所编写的属性字段都以转换成迁移文件,但是我们并没有编写id这个属性的代码,那是因为django服务器会自动判断开发者在创建表的时候是否编写主键,如果未存在主键的定义,则会自动创建 

再执行python manage.py migrate指令,将迁移文件转换成数据库表

当执行成功后,我们在项目目录中可观察到该数据库的存在

接着我们将pycharm开发软件的右侧栏的database打开,将该数据库拖动至其中即可查看该数据库中所转换生成的所有数据库表的结构以及数据

 

那么我们双击该表,即可打开,查看其表的字段结构,并可以手动往表中添加自己想要的模拟数据

 

这里也可以通过点击DDL功能,进行手动编写SQL语句进行快速执行数据库的执行代码,这里读者可自行操作验证。 

 

开通账户功能实现

接着我们通过给首页的开通账户按钮添加点击事件,触发JavaScript方法访问设定的地址,完成跳转打开添加账户信息页面

 

即浏览器则会请求访问http://127.0.0.1:8000/地址中的add/地址,该请求又会进过urls.py文件进行匹配,因此我们需要在urls.py文件中定义匹配的地址,并在views.py文件中定义对应执行的方法


 

 

接着我们需要在templates中创建添加账户页面的html,其代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>开通账户页面</title>
    <style type="text/css">
        table
            border-width: 0px;
            background-color: cadetblue;
            padding: 10px;
            width: 340px;
            text-align: center;
            border-radius: 10px;
        
        td
            padding: 8px;
        
        input
            padding: 5px;
        
        input.btn_sub
            width: 100px;
            padding: 10px;
            border-width: 0px;
            border-radius: 10px;
            color: white;
            background-color: cornflowerblue;
        
        input.btn_sub:hover
            background-color:#3D69ED ;
        
    </style>
</head>
<body>
    <div align="center">
        <h3>新增账户界面</h3>
        <!--http://127.0.0.1:8000/addData/ -->
        <form action="/addData/" method="post">
            % csrf_token %
            <table>
                <tr>
                    <td>姓名:</td>
                    <td><input type="text" name="name" placeholder="请输入姓名"></td>
                </tr>
                <tr>
                    <td>密码:</td>
                    <td><input type="password" name="password" placeholder="请输入密码"></td>
                </tr>
                <tr>
                    <td>身份证号:</td>
                    <td><input type="text" name="personId" placeholder="请输入身份证号码"></td>
                </tr>
                <tr>
                    <td>余额:</td>
                    <td><input type="text" name="blance" placeholder="请输入余额"></td>
                </tr>
                <tr>
                    <td>开户日期:</td>
                    <td><input type="date" name="openDate" placeholder="请输入开户日期"></td>
                </tr>
                <tr>
                    <td colspan="2"><input type="submit" class="btn_sub" value="开通新账户"></td>
                </tr>
            </table>
        </form>
    </div>
</body>
</html>

 其运行后的页面效果如下

当用户在该页面填写完新账户的用户信息后,即通过表单的提交,将数据信息发送给表单的action属性中所定义的服务器地址,那么我们需要在urls.py文件中定义接收数据的地址进行匹配,并把接收的数据进行转发给views.py文件的方法进行获取

 

views.py

# 创建方法,用于接收添加账户页面发送过来过来的数据
def addData(request):
    name=request.POST["name"]
    password=request.POST["password"]
    personId=request.POST["personId"]
    blance=request.POST["blance"]
    openDate=request.POST["openDate"]
    # 将接收的数据添加至Account账户表的数据库
    Account.objects.create(name=name,password=password,personId=personId,blance=blance,openDate=openDate)
    # 如果新账户添加成功后,跳转回首页,供用户选择其他功能
    return redirect(index)

 通过代码的描述,将接收的新用户的数据信息添加至账户表后,通过重定向地址,让浏览器返回至首页上,供用户进行选择其他执行功能操作。

 

以上是关于Django第一课 银行账户管理系统开发的主要内容,如果未能解决你的问题,请参考以下文章

c ++:如何获得余额(在银行系统中)

Django第二课 银行账户管理系统开发

Django第三课 银行账户管理系统开发

Django第三课 银行账户管理系统开发

编写一个类似银行账户的程序,属性:账号 储户姓名 地址 存款余额 利率。方法:存款 取款查询余额计算利息

EXCEL函数计算不同银行账户余额