Flask Sijax

Flask教程 · 2019-04-25 23:38:11

Sijax代表’Simple Ajax’,它是一个Python/jQuery库,旨在帮助Flask开者者轻松地将Ajax引入到应用程序。 它使用jQuery.ajax来发出AJAX请求。

安装

Flask-Sijax的安装非常简单,使用以下命令 -

pip install flask-sijax

配置

  • SIJAX_STATIC_PATH - Sijax javascript文件的静态路径。 默认位置是static/js/sijax。 在这个文件夹中,保存了sijax.jsjson2.js文件。
  • SIJAX_JSON_URI - 加载json2.js静态文件的URI

Sijax使用JSON在浏览器和服务器之间传递数据。因此,浏览器需要本地支持JSON或从json2.js文件获得JSON支持。

以这种方式注册的函数不能提供Sijax功能,因为默认情况下它们不能使用POST方法访问(并且Sijax使用POST请求)。

要使View函数能够处理Sijax请求,可以使用@app.route('/url',methods = ['GET','POST'])通过POST对其进行访问,或使用类似@flask_sijax.route辅助装饰器 -

@flask_sijax.route(app, '/hello')

每个Sijax处理函数(像这样)都会自动接收至少一个参数,就像Python将“self”传递给对象方法一样。 ‘obj_response’参数是函数返回浏览器的对象。

def say_hi(obj_response):
    obj_response.alert('Hi sijax!')

当检测到Sijax请求时,Sijax像这样处理它 -

g.sijax.register_callback('say_hi', say_hi)
    return g.sijax.process_request()

Sijax应用程序

最小的Sijax应用程序代码如下所示 -

import os
from flask import Flask, g
from flask_sijax import sijax

path = os.path.join('.', os.path.dirname(__file__), 'static/js/sijax/')
app = Flask(__name__)

app.config['SIJAX_STATIC_PATH'] = path
app.config['SIJAX_JSON_URI'] = '/static/js/sijax/json2.js'
flask_sijax.Sijax(app)

@app.route('/')
def index():
   return 'Index'

@flask_sijax.route(app, '/hello')
def hello():
    def say_hi(obj_response):
       obj_response.alert('Hi there!')
    if g.sijax.is_sijax_request:
       # Sijax request detected - let Sijax handle it
       g.sijax.register_callback('say_hi', say_hi)
       return g.sijax.process_request()
       return _render_template('sijaxexample.html')

if __name__ == '__main__':
    app.run(debug = True)

当一个Sijax向服务器请求(一个特殊的jQuery.ajax()请求)时,这个请求在服务器上被g.sijax.is_sijax_request()检测到,在这种情况下,就会自动让Sijax处理请求。

所有使用g.sijax.register_callback()注册的函数都公开给浏览器进行调用。

调用g.sijax.process_request()告诉Sijax执行适当的(之前注册的)函数并将响应返回给浏览器。

点击查看所有 Flask教程 文章: https://www.codercto.com/courses/l/47.html

查看所有标签

Code

Code

Charles Petzold / Microsoft Press / 2000-10-21 / USD 29.99

Paperback Edition What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of ......一起来看看 《Code》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

html转js在线工具
html转js在线工具

html转js在线工具