首页 > 编程语言 >【让AI女友跟我表白】大白话说Python+Flask入门(四)Flask Sijax的使用

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

时间:2023-12-04 10:04:42浏览次数:45  
标签:__ sijax Flask app js Sijax AI flask

写在前面

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

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

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

Sijax是什么?

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

安装依赖

pip install flask-sijax

Sijax的使用

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

<html>
<head>
{#  调用百度的jQuery加速  #}
<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
{#  安装Flask-sijax时默认安装的sijax.js #}
<script type="text/javascript" src="/static/js/sijax/sijax.js"></script>
{#  使用过滤器safe禁止转译sijax_get_js() #}
<script type="text/javascript"> {{ g.sijax.get_js()|safe }} </script>
</head>
<body>
{# 创建id为my_form的表单 #}
<form id="my_form">
    <p><input type="text" name="username" value="小强" /></p>
    <p><input type="password" name="password" value="123445" /></p>
</form>
{# 使用Sijax.getFormValues方法获取id为my_form的表单数据 #}
<script type="text/javascript">
    var values = Sijax.getFormValues('#my_form');
</script>
{# 使用带参数Sijax.request()方法传递values值 #}
<a href="javascript://" onclick="Sijax.request('queryUserInfo',values);">点击</a>
</body>
</html>

逻辑代码部分如下:

import os

import flask_sijax
from flask import Flask, g, render_template

# 这玩意真的不用自己创建,服务启动后,手动访问路径会自动生成
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, '/getUserInfo')
def sendRequest():
    def queryUserInfo(response): 
        response.alert('调用Sija执行查询操作!')

    if g.sijax.is_sijax_request: 
        g.sijax.register_callback('queryUserInfo', queryUserInfo)
        return g.sijax.process_request()  
    return render_template('result.html')  


if __name__ == '__main__':
    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执行适当的(先前注册的)函数并将响应返回给浏览器。

效果:

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

写在最后

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

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

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

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

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


优秀不够,你是否无可替代

欢迎关注我的微信公众号:软件测试君

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




标签:__,sijax,Flask,app,js,Sijax,AI,flask
From: https://blog.51cto.com/u_15009374/8673451

相关文章

  • (万字长文)手把手教你认识学会LangChain
    什么LangChainLangChain:一个让你的LLM变得更强大的开源框架LangChain六大主要领域管理和优化prompt。不同的任务使用不同prompt,如何去管理和优化这些prompt是langchain的主要功能之一。链,初步理解为一个具体任务中不同子任务之间的一个调用。数据增强的生成,数据增强生成涉及特定类......
  • 记Redux下载后,运行examples/todos时,报错Error: error:0308010C:digital envelope rout
    1、Redux下载下载地址gitclonehttps://github.com/reactjs/redux.git进入examples/todos,下载依赖:npminstall2、问题复现及解决执行命令npmrunstart此时终端报错:Error:error:0308010C:digitalenveloperoutines::unsupported解决方法:打开package.json,修改......
  • Flask源码分析系列之一
    Flask源码分析我打算写一个系列,这篇文章先讲讲Flask下开启服务的过程。众所周知,Flask开启服务有两种方式,在v1.0之前只能通过Flask类提供的run()来开启服务,在v1.0之后Flask官方增加了通过命令方式来开启服务,即flaskmain:app--host=0.0.0.0--port=5000--reload本文先分析传......
  • OpenAI内讧更多细节曝光:奥特曼离间董事会失败
    参考:https://www.thepaper.cn/newsDetail_forward_25512687 ==============================  根据https://www.thepaper.cn/newsDetail_forward_25512687可以知道:1、奥特曼本人在内部沟通中确实有不诚恳行为。他曾经想利用语言离间董事会,让成员之间互相猜忌。2、董......
  • 乘风破浪,遇见生成式人工智能(Generative AI)之初学者课程,第一章: 生成式人工智能和LLM
    课程资源https://github.com/microsoft/generative-ai-for-beginners课程学习环境设置Fork课程仓库到自己的账号https://github.com/microsoft/generative-ai-for-beginners/fork点击'CreateFork'按钮即可。准备GitHubCodespaces为了避免运行代码时出现任何依赖性......
  • 投影式AI云镜——电梯演讲
    投影式AI云镜——电梯演讲(软件技术基础第三次作业)这个作业属于哪个课程https://edu.cnblogs.com/campus/zjlg/23rjjsjc这个作业的目标是运用电梯演讲的方式向投资方介绍自己的创新产品姓名+学号陈佳华:2021330301002陈卉:2021330301001视频链接:投影式AI云镜......
  • linux/centos使用fail2ban实现计次登录失败封禁其ip
    问题背景使用命令 cat/var/log/secure 查询服务器登录记录,发现有ip在进行暴力破解所以使用fail2ban进行ip限制,如果登录失败五次,则永久封禁其ip。安装并配置fail2ban(来自ChatGPT)下面是一份完整的Fail2Ban安装和配置,用于监视SSH服务并在登录失败5次时永久封锁相关IP的配置。......
  • BAAI、北大&港中文团队提出 SegVol:通用且可交互的医学体素分割模型
    前言 上周,北京智源人工智能研究院(BAAI)、北京大学和香港中文大学的研究团队开源了SegVol医学通用分割模型。与过去一些很棒的MedicalSAM工作不同,SegVol是第一个能够同时支持box,point和textprompt进行任意尺寸原分辨率的3D体素分割模型。作为一个便捷的通用分割工具,研......
  • 同一个train.py,没改任何代码,一会能跑,一会不能跑
    问题描述跑一个模型,加载预训练权重,只进行推理,没有修改任何代码,刚开始直接运行可以得到推理结果,然后再跑,程序又卡住了;然后我使用调试,一会能跑,一会跑到第五六个batch时,又卡住了。解决方法修改dataloader的num_workers。我程序原来workers设为的8,后面改为4就可以了。原因因为代......
  • Github Actions - Creating PostgreSQL service containers
     #Servicecontainerstorunwith`container-job`services:#Labelusedtoaccesstheservicecontainerpostgres:#DockerHubimageimage:postgres#Providethepasswordforpostgresenv:......