python-Flask框架用ajax对数据表实现简单的增删改查

本文介绍了如何使用Python的Flask框架结合Ajax技术,实现在数据表上的增删改查功能。通过Blueprint进行视图接口注册,以实现模块化的代码组织,提高开发效率和代码维护性。
摘要由CSDN通过智能技术生成

python-Flask框架用ajax对数据表实现简单的增删改查

以下为实现效果


在这里插入图片描述

以下为代码实现
Blueprint其实本身只是对view上的接口进行了注册,然后整体挂载在app上,Blueprint本身的目的就是组织多模块的平行共存,避免直接在app上注册view,其实更多的只是方便开发和代码的维护,因为最终所有的views上的接口都仍然是直接挂载在app上,其实对应整个应用来说,没有什么明显的区别。
Flask 中的Blueprint不是一个可插拨的应用,因为它不是一个真正的应用,而是一套可以注册 在应用中的操作,并且可以注册多次。

#app.py代码实现
from flask import Flask,render_template,request,Response,session,url_for
import config
from config_class import *
from datetime import timedelta
from _md5 import MD5Type
import hashlib
from controllor.usercontroller import usercontroller
from controllor.jobcontroller import jobcontroller

app = Flask(__name__)
app.config['DEBUG']=True
app.config['PERMANENT_SESSION_LIFETIME']=timedelta(minutes=30)
#使用class定义配置
app.config.from_object(DebugConfig)
# 使用config 文件定义配置
app.config.from_object(config)

app.register_blueprint(usercontroller)
#绑定路由
app.register_blueprint(jobcontroller)

@app.route('/')  #URL路由
def index():
    return render_template('index.html')

if __name__ == '__main__':
    app.run(host=app.config['SERVER_ADDR'],port=app.config['SERVER_PORT'],debug=True)

#controller文件夹下-jobcontroller.py实现代码
from flask import Blueprint,Flask,render_template,request,Response,session,url_for,jsonify
from service.jobservice import JobService
from entity.job import Job
import json

jobService=JobService()  #引入服务层

jobcontroller=Blueprint('jobcontroller',__name__)

@jobcontroller.route('/goajaxjob.do',methods=['POST','GET'])
def goAjaxJob():
    return render_template('systeminfo/jobajax.html')
    pass

@jobcontroller.route('/ajaxjob.do',methods=['POST','GET'])
def getJobInfo():
    jobData = request.get_data()
    jobDict = json.loads(jobData)
    tData = {
   }

    job=Job()
    jobId=int(jobDict.get('jobId'))
    job.jobId=jobId
    job.jobPosition=jobDict.get('jobPosition')
    job.jobCompany=jobDict.get('jobCompany')
    job.jobSalary=jobDict.get('jobSalary')
    job.jobCity=jobDict.get('jobCity')

    currentPage = int(jobDict.get('currentPage'))
    pageSize = int(jobDict.get('pageSize'))
    opr = jobDict.get('opr')

    delResult = 0
    if opr == 'del':
        delResult = jobService.removeJob(jobId)
        pass
    elif opr == 'update':
        tJob = jobService.findJobByJobId(jobId)
        tData['jobId'] = tJob.jobId
        tData['jobPosition'] = tJob.jobPosition
        tData['jobCompany'] = tJob.jobCompany
        tData['jobSalary'] = tJob.jobSalary
        tData['jobCity'] = tJob.jobCity
        returnData = {
   'code': 1, 'jobData': tData, 'pageSize': pageSize, 'currentPage': currentPage, 'opr': 'update'}
        return json.dumps(returnData)
    elif opr == 'submitUpdate':
        jobService.updateJob(job)
    elif opr=='submitadd':
        jobService.addJob(job,pageSize, currentPage)


    result = jobService.findPageJobList(job, pageSize, currentPage)
    counts = jobService.countJobs(job)
    totalPage = 0

    if (counts % pageSize == 0):
        totalPage = counts // pageSize
    else:
        totalPage = counts // pageSize + 1
        pass

    returnData = {
   'code': 1, 'jobData': result, 'pageSize': pageSize, 'currentPage': currentPage,
                  'totalPage': totalPage, 'delcode': delResult, 'opr': 'search', 'counts': counts}

    return json.dumps(returnData)
    pass


#service文件夹下-jobservice.py实现代码
from dao.jobdao import JobDao
from entity.job import Job

class JobService():

    def findPageJobList(self,job,pageSize,currentPage):
        jobDao=JobDao()
        return jobDao.findPageJobList(job,pageSize,currentPage)
        pass

    def removeJob(self,jobId):
        jobDao=JobDao()
        return jobDao.removeJob(jobId)
        pass

    def updateJob(self,job):
        jobDao=JobDao()
        return jobDao.updateJob(job)
        pass

    def addJob(self,job,pageSize,currentPage):
        jobDao = JobDao()
        return jobDao.addJob(job)
        pass

    def countJobs(self,job):
        jobDao = JobDao()
        return jobDao.countJobs(job)[0]
        pass

    def findJobByJobId(self,jobId):
        jobDao=JobDao()
        result=jobDao.findJobByJobId(jobId)
        job=None
        if result:
            job=Job()
            job.jobId=result[0][0]
            job.jobPosition=result[0][1]
            job.jobCompany=result[0][2]
            job.jobSalary=result[0][4]
            job.jobCity=result[0][12]
            pass
        return job
        pass
    pass

#dao层文件夹-jobdao.py代码实现
from .basedao import BaseDao
class JobDao(BaseDao):
    def findPageJobList(self,job,pageSize,currentPage):
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值