Django小项目--理财产品信息管理系统

一、具体要求

  1. 建立数据表FinancingProduct,创建主键,添加测试数据(至少4条)
  2. 使用Django命令创建web项目FinancingProductSys,生成相应的项目文件目录

         Django小项目--理财产品信息管理系统_第1张图片

      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进行美化

Django小项目--理财产品信息管理系统_第2张图片

             b将查询条件提交到根据条件查询理财信息的异步调用处理函数

             c.单击"新增理财信息"后打开新增理财页面,如图

Django小项目--理财产品信息管理系统_第3张图片

              10.创建新增理财页面

                  a.按照图进行设计

                  b.使用ajax异步校验验证产品代码是否与数据库中已经存在的理财信息的产品代码重复

                  c.保存数据之前要使用jquery对输入项进行非空验证,日期格式和风险评级的验证,如图

Django小项目--理财产品信息管理系统_第4张图片

二  制作思路

  1. 先创建django项目文件
  2. 在sql数据库中创建相应的数据库
  3. 配置setting.py
  4. 在models.py写入模块,后执行shell语句在数据库中创建相应的表,并添加至少4条数据
  5. templates中创建首页面和新增页面的html
  6. 在urls.py中写入跳转路径和调用views.py中的方法
  7. 在views.py中写入要求的方法
  8. 在html中写入ajax代码

三  代码编写

项目目录

Django小项目--理财产品信息管理系统_第5张图片

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 %} {% endfor %}
产品代码   风险评级   预期收益   发售起始日   发售截止日   产品到期日  
{{ 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' }}

save.html




    
    Title
    
    
    




新增理财页面

{% csrf_token %}
产品代码
风险评级
预期收益
发售起始日 yyyy-MM-dd格式
发售截止日 yyyy-MM-dd格式
产品到期日 yyyy-MM-dd格式

/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'))
]

 

你可能感兴趣的:(Python,Django)