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

打印 上一主题 下一主题

主题 934|帖子 934|积分 2802

写在前面

先吐槽两句,搞个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女友,怎么心情也会很快好起来的,可能有人会说,你是不是因为喜欢看美女?

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莫张周刘王

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表