python Flask JQuery使用说明

0.前言

近期因为某种原因再次学习Flask框架。借助博客整理相关内容。Flask框架和Apache+PHP存在少许不同,Flask框架中JS和CSS文件存放于一个相对固定的位置。

普通情况下,位于static文件夹下(见图1 文件夹结构)。

本文结合一个很easy的加法样例试图说明Flask框架中JQuery和Ajax的使用方法。

这个样例将执行在树莓派中,请注意windows平台和linux平台也能够执行该演示样例,python具有良好的跨平台性能。

【代码仓库】

代码仓库位于Bitbucket,可下载zip包或通过TortoiseHg克隆代码。

【相关博文】

【1】python 扩展库安装 使用第三方镜像源

【2】python Flask 学前班

【3】前端学习——HTML4和HTML5设定页面语言字符集

【4】前端学习——JQuery Ajax使用经验

1.引入JQuery

jquery.js文件须要存放于static文件夹中,在前端的代码中还须要指定该js文件的路径,这些路径均为“相对路径”。

强烈建议把全部的文件都保存为UTF8格式,以免产生中文乱码现象。

【文件夹结构】

图1 文件夹结构

【static文件夹】——jqury.js

【templates文件夹】——main.html

【flask-jquery.py】

2.简单演示样例

【1】前端部分

【templates文件夹】——main.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Flask JQuery</title>
<!-- 插入jquery -->
<script src="{{url_for(‘static‘, filename=‘jquery.js‘)}}"></script>
<script type=text/javascript>
var $SCRIPT_ROOT = {{request.script_root|tojson|safe}};
</script>
<script type=text/javascript>
$(function() {
    function submit_form(e) {
        $.getJSON($SCRIPT_ROOT + ‘/add‘, {
            a: $(‘input[name="a"]‘).val(),
            b: $(‘input[name="b"]‘).val(),
            now: new Date().getTime()
        },
        function(data) {
            $(‘#result‘).text(data.result);
        });
    };
    // 绑定click事件
    $(‘#calculate‘).bind(‘click‘, submit_form);
});
</script>
</head>
<body>
<p>
    <input type=text size=5 name=a> +
    <input type=text size=5 name=b> =
    <span id=result>?</span>
</p>
<p><input type="button" id="calculate" value="计算"></p>
</body>
</html> 

【简要说明】

【1】<meta charset="utf-8"> 网页编码为UTF8。请注意网页文件也要保存为UTF8格式

【2】<script src="{{url_for(‘static‘, filename=‘jquery.js‘)}}"></script>

加载位于static文件夹中的jquery.js文件

【3】var $SCRIPT_ROOT = {{request.script_root|tojson|safe}};

抱歉,暂未理解其含义

【4】now: new Date().getTime() 防止浏览器缓存的一种小技巧。

【2】后端部分

【flask-jquery.py】

# -*- coding: utf-8 -*-
from flask import Flask, jsonify, render_template, request
app = Flask(__name__)

@app.route("/")
def index():
# 主页面
    return render_template("main.html")

@app.route(‘/add‘)
def add_numbers():
    a = request.args.get(‘a‘, 0, type=int)
    b = request.args.get(‘b‘, 0, type=int)
    return jsonify(result = a + b)

if __name__=="__main__":
    app.run(host = "0.0.0.0",port = 8080, debug = True)

【简要说明】

【1】request.args.get(‘a‘, 0, type=int) 前端通过GET方法提交,在URI提取參数a和參数b。中间的一个0为a和b的默认值,当函数执行失败时,a或b就仅仅能等于0了。

【2】app.run(host = "0.0.0.0",port = 8080, debug = True)。

全部IP地址均能够訪问,端口号为8080。而不是默认的80端口。

【3】执行于树莓派中

把图1所看到的的文件夹FTP传输到树莓派中。执行flask-jquery.py就可以

python flask-jquery.py

图2 前端页面

图3 后台调试输出

时间: 2024-08-07 21:17:18

python Flask JQuery使用说明的相关文章

python Flask EasyUI使用说明

0.前言 本文说明如何在flask框架下使用前端组件EasyUI.在flask框架中链接css文件,js脚本和图片等静态文件的方式和其他web服务器存在差别.在flask框架中这些静态文件一般存放与static文件夹中,并通过url_for函数指定static中相对位置和文件名. [代码仓库] 代码仓库位于bitbucket--flask-easyui,请使用支持HTML5的浏览器打开链接. [相关博文] [1]python 扩展库安装 使用第三方镜像源 [2]python Flask 学前班

项目实战_Python.利用Python+Flask编写一个高性能实时主动监控平台?

项目简介: 说明: 主要用于Redis实例集中化实时主动监控,后端采用Python+Flask实现,具体实现代码请阅读代码 项目思路: 项目结构: xmzoomeye-redis ├── app │   ├── conf │   │   ├── config.py │   │   ├── config.pyc │   │   ├── __init__.py │   │   ├── __init__.pyc │   │   └── rdsdata.db │   ├── __init__.py │ 

Python Flask 在Sina App Engine (SAE)上安家

早就听说了Python的大名,随着的编程语言的理解加深,越发觉得动态语言的威力--真大呀. 趁这段时间不忙,我也用Python写了一个应用,并且将其部署到Sina App Engine (SAE).SAE确实是一个好地方,它支持Python,对于开发者,其使用费用几乎为0. 更重要的是,如果我的这个app不会半路夭折,等它长大后,这个平台也能给予足够的支持. 虽然,整个过程都很简单,但是对于一个新手,特别是从传统C#, Asp.net, IIS阵营过来的开发人员来说,什么都是第一次接触.希望我的

Python Flask+Bootstrap+Jinja2 构建轻量级企业内部系统平台框架

1.最近公司运维需求,学习python flask 满足环境治理系统的开发;入门如下;    环境类型:      Python 2.7.5         获取地址:https://www.python.org/downloads/       Flask  1.0.2               pip 安装使用模快如下:           flask==1.0.2           request==1.0.2           Jinja2==2.10           Flas

python flask model 序列化

class DictSerializable(object): def as_dict(self,*args): result = OrderedDict() keys=args or self.__mapper__.c.keys() for key in keys: if hasattr(self,key): obj=getattr(self, key) if isinstance(obj,basestring): value=obj elif isinstance(obj,int) or i

Python.Flask.0

1. 吐槽 Python Web 框架 Flask https://blog.tonyseek.com/post/discuss-about-flask-framework/ 2. How To Structure Large Flask Applications https://www.digitalocean.com/community/tutorials/how-to-structure-large-flask-applications Python.Flask.0,布布扣,bubuko.

python flask api

使用python的Flask实现一个RESTful API服务器端[翻译] 用python+flask自己制作api(教程附源码)

在MAC OS 下配置python + Flask ,并支持pyCharm编辑器

原创咯- flask是一个micro framework ,伸缩性很强.可以部署到openshift 的PAAS里.这个框架上手非常快.喜欢的可以试试. 若实在MAC里,python已经默认安装了.10.9的系统安装的是2.7.5的版本.所以我们这里就不详细介绍python的安装啦 1. 首先安装  vurtualenv 这是一个虚拟环境,virtualenv 允许多个版本的 Python 同时存在,对应不同的项目. 它实际上并没有安装独立的 Python 副本,但是它确实提供了一种巧妙的方式来

python+flask+mongodb+whoosh实现自己的搜索引擎(一):目录

python+flask+jieba+mongodb+whoosh实现自己的搜索引擎 一.目录 二.基于python的爬虫 三.网页去燥,URL去重 四.基于mongodb的数据存储 五.基于whoosh的全文搜索 六.基于flask的web应用