MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

Python + Flask 项目开发实践系列《一》

2025-03-06 15:33 huorong 精选文章 5 ℃ 0 评论

今日分享主题:

Flask Web实践项目开发中的首页内容列表加载功能是如何实现的。


Step1: html 部分


消息管理

主要内容:

编号 PMS名称 主要内容 状态 备注 创建时间 操作项


Step2:javascript部分

<script type="application/javascript">
    //获取总记录数
    $(function () {
      var callback=function(p){//定义一个callback方法
          $.ajax({
          url: '/page/'+p,//规定发送请求的 URL
          type: 'GET',//规定请求的类型(GET 或 POST)
          dataType: 'json',//预期的服务器响应的数据类型
          async:false, //表示请求是否异步处理
          timeout: 1000,//设置本地的请求超时时间(以毫秒计)
          cache: false, //表示浏览器是否缓存被请求页面
          beforeSend: LoadFunction, //用于在向服务器发送请求前执行一些动作
          error: ErrFunction,  //请求出错执行的函数
          success: function (data) {//当请求成功时运行的函数
              var jsons=data ? data : []; //定义一个变量当data有值时jsons=data,否则就为空
              // 分页处理
                $("#pageid").pager({ //分页功能
               pagenumber: jsons.pageNum,//表示初始页数
               pagecount: jsons.pages,//表示总页数
               totalcount: jsons.amount,//表示总记录数
               buttonClickCallback: callback//表示点击分页数按钮调用的方法
            });
               lists=""
              $.each(jsons.content, function (index, item) {//循环获取数据
                    lists +=""+ //拼凑一段html片段
                        ""+item.id+""+
                        ""+item.pms_name+""+
                        ""+item.content+""+
                        ""+item.status+""+
                        ""+item.mark+""+
                        ""+item.create_time+""+
                        "" +
                        "  "+
                        "" +
                        ""
                    ""
              });
              $("#alldatas").html(lists);//设置或返回所选元素的内容(包括 HTML 标记)
          }
      })}
      function LoadFunction() {//上面调用的实现函数
          $("#alldatas").html('加载的数据未找到,请重新添加!...');//设置或返回所选元素的内容(包括 HTML 标记)
      }
      function ErrFunction() {//上面调用的实现函数
          alert("数据加载失败!!!!");//设置或返回所选元素的内容(包括 HTML 标记)
      }
      callback(1) //页面加载完成后自执行
  });
</script>


Step3:Python+Flask 部分

@app.route('/page/',methods=['GET'])
def pageapi(page):
    '''
    All_page:总页数,创建页码的根据
    All_Record:数据总条数,All_Record/PageCount=All_page 得到总页数
    Current_page:当前请求的页码.传送给服务端
    PageCount:每页显示的条数,传送给服务端
    '''
    sql = "select count(*) from flask_info"
    PageCount=10
    All_Record = get_count(sql)
    if (int(All_Record) % int(PageCount) == 0):
        All_page = All_Record / PageCount
    else:
        All_page = All_Record / PageCount + 1
    tiao=(int(page)-1)*int(PageCount)
    # print "tiao:",tiao
    sql1="select id,pms_name,content,status,mark,create_time from flask_info order by create_time desc limit %s,%s"%(tiao,PageCount)
    content=get_data(sql1)
    pagedict={}
    pagedict['content']=content
    pagedict['pageNum']=page
    pagedict['pages']=All_page
    pagedict['amount']=All_Record
    return jsonify(pagedict)


Step4: db部分

#表结构如下:
table1='''
create TABLE IF NOT EXISTS flask_info( 
 id  INTEGER   PRIMARY KEY AUTOINCREMENT,
    `pms_name` varchar(255) DEFAULT NULL,
    `content` varchar(1000) DEFAULT NULL,
    `status` varchar(255) DEFAULT NULL,
    `mark` varchar(255) DEFAULT NULL,
    `create_time` varchar(255) DEFAULT NULL
 );
'''
#数据库操作:
def get_count(sql): #获取sql返回总条数
    db = sqlite3.connect('test_flask.db')
    cur = db.cursor()
    result=cur.execute(sql).fetchall()
    print(result[0][0])
    cur.close()
    db.close()
    return result[0][0]


def get_data(sql1):#获取sql返回记录数
 db = sqlite3.connect('test_flask.db')
 cur = db.cursor()
 print(sql1)
 cur.execute(sql1)
 results=cur.fetchall()
 cloumn=get_table_colum()
 res = {}
 reslist = []
 print(results)
 for r in range(len(list(results))):
 for m in range(len(list(cloumn))):
 res[str(list(cloumn)[m])] = str(list(results)[r][m])
 reslist.append(res)
 res = {}
 print(reslist)
 cur.close()
 db.close()
 return reslist


最后页面首页数据展示如下图所示:

总结:本文共分为四个部分,分别是由 html+js+python 和 flask+db组成,主要是说明了页面首页数据如何加载,内容清晰明了,每行代码需要仔细阅读,尤其javascript代码部分,注释写得尤其的详细,大家可以对照以上各部分代码多动手实践。

Tags:th:style

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言