2018-04-03

Python3 Flask SQlite3で連携したときに起こったエラー一覧と対処法

sqlite3.OperationalError: table query has no column named cron


テーブルにそんな列名ないよ~ってこと。SQLite3の中の接続しているテーブルの中に、そのようなカラムが存在するか確認する。





sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 8 supplied.

INSERT文をarrayで入れないといけないのに、タプル抜き
で入れていると起こるエラー。


https://stackoverflow.com/questions/16856647/sqlite3-programmingerror-incorrect-number-of-bindings-supplied-the-current-sta

AttributeError: 'sqlite3.Cursor' object has no attribute 'commit'


def insertQuery(query):
    conn = sqlite3.connect(DATABASE)
    c = conn.cursor()
    insertSQL = "INSERT INTO query (query) VALUES (?)"
    c.execute(insertSQL, [query])
    c.commit()
    c.close()

これでやった時でだめ。conn.commit()が正しい。コネクションのオブジェクトが持っているのが、commitメソッド。


jinja2.exceptions.UndefinedError: 'len' is undefined


HTML側でこういうコード書いたときに起こったエラー

<tbody>
    <tr>
      <td>{{len(stats["liked_user_ids"])}}</td>
      <td>{{len(stats["follow_back_user_ids"])}}</td>
      <td>20%</td>
    </tr>
  </tbody>


html内ではlengthというメソッドを使うらしいとのこと。
https://stackoverflow.com/questions/24163579/length-of-string-in-jinja-flask


増えたらどんどん追加していく。


注目の投稿

 PythonのTweepyを利用して、Twitter APIを利用している。 その中で、ハマったポイントをメモしておく。 まず、Searchに関して。 Twitter検索は、クライアントアプリ側では、全期間の検索が可能になっている。 一方で、APIを利用する際は、過去1週間しか...