前言
自己在支付宝买了一些基金,但是由于支付宝受限于手机屏幕的大小有些数据放不下,要一直切换页面才能看到,这样有些不爽,刚好最近在学习python就自己查资料搞一个web项目来查看基金的每日数据
一. 需求
- 首先要能添加我想查看的基金
- 给添加的基金打标签方便之后过滤统计数据
- 既然有添加功能,那更新和删除功能也必须有
- 因为基金涨跌每天更新所以要能更新每日数据
二. 设计
数据库设计:
因为功能比较简单所以只设计了2个数据库表
一个是基金本身的属性表Fund(name,fund_id,tag,amount)
一个是基金每日的数据FundRate(fund_id,dwjz,gszzl,gsz,date)
UI设计:
UI设计就是做一个表单用来添加基金,然后下面用一个table来展示数据,然后table的每一类最后添加操作按钮可以对当前行进行操作(delete,update)
三. 技术框架选择
主要使用 python Django web 框架
UI 使用 Bootstrap + JQuery
四. 开搞
1. 首先要先安装Djanjo
pip3 install Django
2. 然后使用Djanjo命令初始化一个web项目出来
django-admin startproject mysite
3. Django 规定,如果要使用模型,必须要创建一个 app。我们使用以下命令创建一个 FundData 的 app
django-admin.py startapp FundData
可以看到已经自动创建了一个目录而且初始化出了相应的文件,选择我们把我们的数据库表配置进去
from django.db import models
# Create your models here.
class Fund(models.Model):
name = models.CharField(max_length=20)
fund_id = models.CharField(max_length=10)
tag = models.CharField(max_length=250, default="")
amount = models.FloatField()
class FundRate(models.Model):
fund_id = models.CharField(max_length=10)
dwjz = models.FloatField()
gszzl = models.FloatField()
gsz = models.FloatField()
date = models.CharField(max_length=20)
4. 模型放进去以后要执行相应的命令让django帮你生成对应的数据库表,这里面我们使用默认的数据库sqlLite,执行以下命令
$ python3 manage.py migrate # 创建表结构
$ python3 manage.py makemigrations FundData # 让 Django 知道我们在我们的模型有一些变更
$ python3 manage.py migrate FundData # 创建表结构
5. 添加我们的UI模板,在项目根目录下新建一个folder templatesr然后在里面创建一个html,这里面就是我们要展示的UI的源代码
6. 上面只是添加了HTML然后我们添加一个简单的业务逻辑,打开FundData/views.py 然后加入下面的代码,把echo参数注入上下文
def ping(request):
context['echo'] = 'hello world'
return render(request, 'index.html', context)
7. 最后配置路由,打开urls.py添加路由导航
from FundData import views
urlpatterns = [
path('index', views.ping),
]
8. 启动服务器测试,程序的入口时项目根本目录下的manage.py但是你不能之前执行这个函数要加一个启动命令 python manage.py runserver 如果用vscode可以使用下面的lanch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "manage.py",
"console": "integratedTerminal",
"args": [
"runserver"
]
}
]
}
9. 查看结果
这样的话这个web项目就基本搭建起来,接下来我们就可以开始实现我们的需求
引用
Python3 教程 | 菜鸟教程 (runoob.com)
==> 需要源码的可以评论留下邮箱,一起交流 <==