English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Sijax Flask

Sijax représente 'Simple Ajax', c'est un Python/La bibliothèque jQuery, conçue pour aider les développeurs Flask à intégrer facilement Ajax dans les applications. Elle utilise jQuery.ajax pour envoyer des requêtes AJAX.

Installer

Flask-L'installation de Sijax est très simple, utilisez la commande suivante -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : fr.oldtoolbag.com
# Date : 2020-08-08
pip install flask-sijax

Configuration

SIJAX_STATIC_PATH - Static path du fichier javascript Sijax. La position par défaut est static/js/sijax. Ce dossier contient sijax.js et json2.js file. SIJAX_JSON_URI - Charger json2.js static files URI

Sijax utilise JSON pour transférer des données entre le navigateur et le serveur. Par conséquent, le navigateur doit prendre en charge localement JSON ou utiliser2.js pour obtenir le support JSON.

Les fonctions enregistrées de cette manière ne peuvent pas fournir de fonctionnalités Sijax, car elles ne peuvent pas accéder via la méthode POST par défaut (et Sijax utilise des requêtes POST).

Pour permettre à la fonction View de traiter les requêtes Sijax, vous pouvez utiliser @app.route('/url',methods = ['GET', 'POST']) et l'accéder par POST, ou utiliser @flask_sijax辅助装饰器 .route -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : fr.oldtoolbag.com
# Date : 2020-08-08
@flask_sijax.route(app, '/hello')

Chaque fonction de traitement Sijax (tel que) reçoit automatiquement au moins un paramètre, comme Python le fait avec 'self' pour les méthodes d'objet. Le paramètre 'obj_response' est l'objet renvoyé au navigateur par la fonction.

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : fr.oldtoolbag.com
# Date : 2020-08-08
def say_hi(obj_response):
     obj_response.alert('Hi sijax!')

Lorsque Sijax détecte une requête Sijax, il la traite ainsi -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : fr.oldtoolbag.com
# Date : 2020-08-08
g.sijax.register_callback('say_hi', say_hi)
     return g.sijax.process_request()

Application Sijax

Le code de l'application Sijax la plus simple est présenté ci-dessous -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : fr.oldtoolbag.com
# Date : 2020-08-08
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)

Lorsqu'un Sijax demande à un serveur (une requête jQuery.ajax() spéciale), cette requête est détectée par g.sijax.is_sijax_request() sur le serveur, dans ce cas, Sijax traitera automatiquement la requête.

Toutes les fonctions enregistrées avec g.sijax.register_callback() sont rendues publiques pour l'appel par le navigateur.

Appeler g.sijax.process_request() pour informer Sijax d'exécuter la fonction appropriée (précédemment enregistrée) et renvoyer la réponse au navigateur.