一、具体要求
3.在models.py文件上面创建实体类FinancingProduct
a.参考FinancingProduct表编写属性
b.编写各属性的__str__/__unicode__方法
4.在views.py文件上面创建各种方法(这个第678三个步骤的概括):
a.编写查询方法,查询理财信息
b.编写查询方法,根据产品代码查询理财信息记录数,以判断产品代码是否重复
c.编写增加方法,实现添加理财功能
5.在urls.py文件上:
a.添加查询方法路由处理路径,调用views.py文件上面的相关处理函数类,查询理财信息
b.添加查询方法路由处理路径,调用views.py文件上面的相关处理函数类,判断产品代码是否重复
c.添加增加方法路由处理路径,调用views.py文件上面的相关处理函数类,实现添加理财功能
6.在views.py上创建查询理财信息的处理函数
a.获取查询条件信息(查询全部理财信息的情况不用获取)
b.调用views上的相关类的方法查询理财信息,正确查询结果集进行分页的跳转
7.在views.py上创建验证产品代码是否重复的ajax异步调用处理函数
a.获取理财信息的产品代码
b.调用views上的相关类的方法查询该产品代码是否已经存在,正确返回json格式结果集
8.在views.py上创建添加理财的调用处理函数
a.获取添加理财的所有信息
b.调用views上的相关类添加理财信息,根据添加结果给出相应的提示并跳转至相关的页面
9.创建理财信息查询html页面
a.按照图所示进行页面设计,并使用css进行美化
b将查询条件提交到根据条件查询理财信息的异步调用处理函数
c.单击"新增理财信息"后打开新增理财页面,如图
10.创建新增理财页面
a.按照图进行设计
b.使用ajax异步校验验证产品代码是否与数据库中已经存在的理财信息的产品代码重复
c.保存数据之前要使用jquery对输入项进行非空验证,日期格式和风险评级的验证,如图
二 制作思路
三 代码编写
项目目录
models.py
from django.db import models
# Create your models here.
class FinancingProduct(models.Model):
risk=models.IntegerField(null=False)
income=models.CharField(null=False,max_length=50)
saleStarting=models.DateTimeField(null=False)
saleEnd=models.DateTimeField(null=False)
end=models.DateTimeField(null=False)
views.py
from django.shortcuts import render,HttpResponse,redirect,reverse
from .models import*
# Create your views here.
def index(request):
requestSet=None
fxpj=request.GET.get('fxpj')
daima=request.GET.get('daima')
if fxpj is None and daima is None:
requestSet=FinancingProduct.objects.all()
elif fxpj is not None and fxpj is not "0":
requestSet = FinancingProduct.objects.filter(risk=fxpj)
elif daima is not None:
requestSet = FinancingProduct.objects.filter(id=daima)
#查询所有数据
# requestSet=FinancingProduct.objects.all()
return render(request,'index.html',{'rs':requestSet})
def save(request):
if request.method=="GET":
return render(request,'save.html')
else:
#数据获取
daima=request.POST.get('daima')
risk=request.POST.get('risk')
income=request.POST.get('income')
saleStarting=request.POST.get('saleStarting')
saleEnd=request.POST.get('saleEnd')
end=request.POST.get('end')
#数据保存
newfp=FinancingProduct()
newfp.id=daima
newfp.risk=risk
newfp.income=income
newfp.saleStarting=saleStarting
newfp.saleEnd=saleEnd
newfp.end=end
try:
newfp.save()
return HttpResponse('1')
#return redirect(reverse('pf:index'))
except:
return HttpResponse('0')
def checkid(request):
daima=request.GET.get('daima')
rset=FinancingProduct.objects.filter(id=daima)
if len(rset)==0:
return HttpResponse('可以使用')
else:
return HttpResponse('不可以使用')
/pangzi/urls.py
#usr/bin/python
#-*-coding:utf-8-*-
from django.urls import path,include
from .views import *
app_name='pf'
urlpatterns = [
path('index',index,name="index"),
path('save',save),
path('checkid',checkid),
]
index.html
Title
产品代码
风险评级
新增理财信息
产品代码
风险评级
预期收益
发售起始日
发售截止日
产品到期日
{% for foo in rs %}
{{ foo.id }}
{% if foo.risk is 1 %}
R1
{% elif foo.risk is 2%}
R2
{% else %}
R3
{% endif %}
{{ foo.income }}
{{ foo.saleStarting | date:'Y-m-d'}}
{{ foo.saleEnd | date:'Y-m-d' }}
{{ foo.end | date:'Y-m-d' }}
{% endfor %}
save.html
Title
新增理财页面
/xiaoxingyun/urls.py
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('pangzi/',include('pangzi.urls',namespace='pf'))
]