Flask Cassandra 查询 LIKE

艾哈迈德·安瓦尔 |

文件模型.py

class Document(db.Model):
    __table_name__ = 'document'

    nim = db.columns.Integer(primary_key=True)
    prodi = db.columns.Text(primary_key=True)
    tahun = db.columns.Date(primary_key=True, clustering_order="DESC")
    title = db.columns.Text(primary_key=True)
    nama_mhs = db.columns.Text()
    angkatan = db.columns.Date()
    intisari = db.columns.Text()
    kata_kunci = db.columns.Text()
    pembimbing = db.columns.Text()
    file_doc = db.columns.Text()
    password = db.columns.Text()

    def __repr__(self):
        return '<Document %r>' % (self.nim, self.nama_mhs, self.angkatan, self.tahun, self.prodi, self.judul, self.kata_kunci, self.intisari, self.pembimbing, self.password, self.file_doc)

这是我创建的搜索表单,search.html

<from action="{{ url_for('search') }}" method="POST">
   <input name="search" type="text" class="form-control" placeholder="Search">
   <button type="submit">
</from>

如何输入随机文本?文件 views.py 方法 search()

@app.route('/search', methods=['GET','POST'])
def search()
    q1 = sesi.execute(" SELECT title FROM document WHERE title LIKE '%request.form['search']%' ")
    return render_template("title_search.html", q1=q1)

title_search.html

{% extends "base.html" %}
{% block content %}
{% include "search_document.html" %}
<hr>
{% for data in q1 %}
<div class="col-md-8">
    <h3>Title : <a href="#">  {{ data.title }} </a></h3>
    <hr>
</div>
{% endfor %}
{% endblock %}

我在跑步时得到这个

SyntaxException:来自服务器的错误:code=2000 [CQL 查询中的语法错误] message="第 1:61 行在“搜索”处缺少 EOF(...文档 WHERE title LIKE '%request.from['[search]']。 ..)”

小D

这在您更新后很有帮助,根本原因是您的 views.py 中的查询字符串无效,您最好像这样格式化查询字符串:

@app.route('/search', methods=['GET','POST'])
def search()
    q1 = sesi.execute("SELECT title FROM document WHERE title LIKE '%{}%'".format(request.form['search']))
    return render_template("title_search.html", q1=q1)

如果您在模板中的表单中输入字符串“ Physics ”,则查询字符串将类似于

"SELECT title FROM document WHERE title LIKE '%Physics%'"

希望它能解决你的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章