python - 使用 Flask 和 JQuery 自动完成
问题描述
所以我正在尝试使用 Flask 和 JQuery 自动完成,它一直给我一个错误。(试图将此功能集成到我的常见问题聊天机器人中,以便用户查看搜索建议)
以下是代码:
应用程序.py
from flask import Flask, Response, render_template, request
import json
app = Flask(__name__)
import wtforms as wt
from flask_wtf import FlaskForm
from flask_wtf import Form
from wtforms import StringField, validators
from wtforms import BooleanField, TextAreaField
from wtforms.validators import ValidationError, DataRequired
texts=["hi","hello","hey","hi there"]
class SearchForm(Form):
autocomp= StringField('autocomp',id='autocomplete')
@app.route('/autocomplete',methods=['GET'])
def autocomplete():
search = request.args.get('autocomplete')
app.logger.debug(search)
return Response(json.dumps(texts), mimetype='application/json')
@app.route('/',methods=['GET','POST'])
def index():
form = SearchForm(request.form)
return render_template("search.html",form=form)
if __name__ == '__main__':
app.run()
搜索.html
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.js"></script>
</head>
{{ form.autocomp.label }}: {{ form.autocomp }}
<script>
$(function() {
$.ajax({
url: '{{ url_for("autocomplete") }}'
}).done(function (data) {
$('#autocomplete').autocomplete({
source: data,
minLength: 2
});
});
});
</script>
</html>
这是我得到的错误:
File "C:\Users\User\anaconda3\envs\autocomplete\lib\site-packages\wtforms\form.py", line 268, in __init__
super(Form, self).__init__(self._unbound_fields, meta=meta_obj, prefix=prefix)
TypeError: super(type, obj): obj must be an instance or subtype of type
我该如何解决这个错误?
解决方案
推荐阅读
- sql - 无法连接到 SQL
- php - PHP SoapClient - 获取 http 标头时出错
- java - 当我创建一个 jar 文件时,它显示了一些 jdbc 错误
- html - 如何使菜单切换器在 PrimeNg 中消失
- bixby - 如何将我的应用程序名称与 Bixby 中的代码连接起来?
- android - 按钮单击以在所需活动中查看网络视图
- python - 删除列名中不需要的字符串
- swift - 具有自动布局的 SnapKit 快速
- php - 无法将下拉选择的选项从 index.php 发送到控制器,然后发送到 codeigniter 中的 search.php
- typescript - 打字稿“新(...args:任何[])=> T”与“{新(...args:任何[]):T}”