经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
【让AI女友跟我表白】大白话说Python+Flask入门(四)Flask Sijax的使用
来源:cnblogs  作者:久曲健  时间:2023/12/1 9:09:28  对本文有异议

写在前面

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

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

Sijax是什么?

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

安装依赖

pip install flask-sijax

Sijax的使用

模板页面result.html,示例代码如下:

  1. <html>
  2. <head>
  3. {# 调用百度的jQuery加速 #}
  4. <script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  5. {# 安装Flask-sijax时默认安装的sijax.js #}
  6. <script type="text/javascript" src="/static/js/sijax/sijax.js"></script>
  7. {# 使用过滤器safe禁止转译sijax_get_js() #}
  8. <script type="text/javascript"> {{ g.sijax.get_js()|safe }} </script>
  9. </head>
  10. <body>
  11. {# 创建id为my_form的表单 #}
  12. <form id="my_form">
  13. <p><input type="text" name="username" value="小强" /></p>
  14. <p><input type="password" name="password" value="123445" /></p>
  15. </form>
  16. {# 使用Sijax.getFormValues方法获取id为my_form的表单数据 #}
  17. <script type="text/javascript">
  18. var values = Sijax.getFormValues('#my_form');
  19. </script>
  20. {# 使用带参数Sijax.request()方法传递values值 #}
  21. <a href="javascript://" onclick="Sijax.request('queryUserInfo',values);">点击</a>
  22. </body>
  23. </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.jsjson2.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执行适当的(先前注册的)函数并将响应返回给浏览器。

效果:

19df8398f1cf8f319ceab3ac3f3c965e_1701333326399-a529e3a6-bd61-4d96-8aa2-d20414cd0c6d.png

写在最后

搞的破环境搞了进半天,效率有点低了,但是我也不到为啥不行,各种招都试了,就是10060or10061,防火墙我真关了,真的被虐的好疼!

但也没什么,累了、心情不好看看AI女友,怎么心情也会很快好起来的,可能有人会说,你是不是因为喜欢看美女?

2e4bc6933faebf701aeaac04ce9d7a11__preview_type=16.png

我承认呀,谁不爱看美女,你说是不是?

有人会说,我不信,你让她自己说呀,来,安排!
安排,直接上效果:

原文链接:https://www.cnblogs.com/longronglang/p/17868644.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号