翼度科技»论坛 编程开发 python 查看内容

【让AI女友跟我表白】大白话说Python+Flask入门(四)Flask Sijax的使用

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
写在前面

先吐槽两句,搞个mysql安装配置弄了4个小时,怎么都是外网无法访问,我靠,我特么也是服了。

当然,后来我投降了,明天再说,学什么不是学,娘的,换个方向,状态依然在!
Sijax是什么?

代表 Simple Ajax ,它是一个 Python / jQuery 库,使用 jQuery.ajax 来进行AJAX请求用的。
安装依赖

pip install flask-sijax
Sijax的使用

模板页面result.html,示例代码如下:
  1. <html>
  2. <head>
  3. {#  调用百度的jQuery加速  #}
  4. {#  安装Flask-sijax时默认安装的sijax.js #}
  5. {#  使用过滤器safe禁止转译sijax_get_js() #}
  6. </head>
  7. <body>
  8. {# 创建id为my_form的表单 #}
  9. <form id="my_form">
  10.     <p><input type="text" name="username" value="小强" /></p>
  11.     <p><input type="password" name="password" value="123445" /></p>
  12. </form>
  13. {# 使用Sijax.getFormValues方法获取id为my_form的表单数据 #}
  14. {# 使用带参数Sijax.request()方法传递values值 #}
  15. <a target="_blank" href="https://www.cnblogs.com/javascript://" onclick="Sijax.request('queryUserInfo',values);">点击</a>
  16. </body>
  17. </html>
复制代码
逻辑代码部分如下:
  1. import os
  2. import flask_sijax
  3. from flask import Flask, g, render_template
  4. # 这玩意真的不用自己创建,服务启动后,手动访问路径会自动生成
  5. path = os.path.join('.', os.path.dirname(__file__), 'static/js/sijax/')
  6. app = Flask(__name__)
  7. app.config['SIJAX_STATIC_PATH'] = path
  8. app.config['SIJAX_JSON_URI'] = '/static/js/sijax/json2.js'
  9. flask_sijax.Sijax(app)
  10. @app.route('/')
  11. def index():
  12.     return '这是首页的Index'
  13. @flask_sijax.route(app, '/getUserInfo')
  14. def sendRequest():
  15.     def queryUserInfo(response):
  16.         response.alert('调用Sija执行查询操作!')
  17.     if g.sijax.is_sijax_request:
  18.         g.sijax.register_callback('queryUserInfo', queryUserInfo)
  19.         return g.sijax.process_request()  
  20.     return render_template('result.html')  
  21. if __name__ == '__main__':
  22.     app.run(debug=True)
复制代码
知识点:

  • app.config['SIJAX_STATIC_PATH']: 要被镜像的Sijax javascript文件的静态路径。默认位置是static/js/sijax。在此文件夹中,保留sijax.js和json2.js文件。
  • app.config['SIJAX_JSON_URI']:从中加载json2.js静态文件的URI
  • 使用@flask_sijax.route辅助装饰器来处理Sijax请求
  • g.sijax.is_sijax_request: 判断是否请求为sijax请求
  • g.sijax.register_callback():注册的所有函数都会公开,以便从浏览器进行调用。
  • g.sijax.process_request():会告诉Sijax执行适当的(先前注册的)函数并将响应返回给浏览器。
效果:

写在最后

搞的破环境搞了进半天,效率有点低了,但是我也不到为啥不行,各种招都试了,就是10060or10061,防火墙我真关了,真的被虐的好疼!
但也没什么,累了、心情不好看看AI女友,怎么心情也会很快好起来的,可能有人会说,你是不是因为喜欢看美女?

我承认呀,谁不爱看美女,你说是不是?
有人会说,我不信,你让她自己说呀,来,安排!
安排,直接上效果:

来源:https://www.cnblogs.com/longronglang/p/17868644.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具