2017-04-22 88 views
0

文件models.py瓶卡桑德拉查询LIKE

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方法搜索()

@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:错误从服务器:代码= 2000 [语法的CQL错误 query] message =“line 1:61 missing'EOF at'search'(... document WHERE title LIKE'%request.from ['[search]'] ...)”

回答

1

这是你更新后没什么太大的帮助,根本原因是,在你的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) 

查询字符串将是一样,如果你输入模板字符串“物理”的形式:

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

希望这将解决您的问题。

+0

并未奏效尚未 –

+0

能否请您发布完整的跟踪日志? –

+0

我试图添加一个跟踪到我的问题,我希望你能理解结构 –