質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

2回答

457閲覧

FlaskでのSQLite3について

ke622ken

総合スコア15

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/11/13 14:20

https://www.tutorialspoint.com/flask/flask_sqlite.htm
こちらの公式チュートリアルに従ってSQLiteを練習しているのですが,コード通りに実装しても
cur.execute("select * from students")
sqlite3.OperationalError: no such table: students
というエラーが出ます.

公式チュートリアルには詳しく書かれていないのですが,
database.db
student.html
result.html
list.html
home.html
main.py (最後のcomplete code)
のファイルを用意して試しています.

エラーからはtableがそもそもないと言われているようなのですが,
コードそのままで実行しているはずなのでtableはdatabase.dbで作っているはずなのですが
なぜでしょうか?database.dbがうまく呼ばれていないのでしょうか?
考えられる原因がわかる方,ご教授いただけると幸いです.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

以下を確認してみてください。

  • database.dbを作成する際のテーブル名に綴りなどが間違ってないか。
  • main.pyと同じフォルダにdatabase.dbがあって、かつ、cdコマンドでmain.pyと同じ場所にカレントフォルダを移動してからmain.pyを実行しているか

投稿2017/11/13 15:42

yukkeorg

総合スコア985

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ke622ken

2017/11/14 00:42

ご回答ありがとうございます. 綴りはコードをコピーして確認しましたが誤っていませんでした. 同じ階層にファイルを置いており,main.pyを実行しております.database.db自体はmain.pyから呼ばれるのでこちらから起動するような手間は不要であっていますでしょうか?
yukkeorg

2017/11/14 15:10

main.pyを実行するときはどのように実行してますか? ターミナル(コマンドプロンプト)に入力しているコマンドをそのまま記載をお願いします。
yukkeorg

2017/11/14 15:13

database.dbはデータファイルですので起動はできません。
ke622ken

2017/11/15 07:00

cdで目的の階層まで移動して,python main.pyと入力しています.
guest

0

テーブルを作るためのコードはちゃんと実行されていますでしょうか?
考えられることとしては、「テーブルが作成されていない」ことと「データベースに接続されていない」ことが考えられると思います。

ターミナルやsqliteの管理ツールなどで作成されているか確認して、もしなければ追記をお願いします

投稿2017/11/13 15:32

hiyashikyuri

総合スコア388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ke622ken

2017/11/14 00:40

ご回答ありがとうございます. ターミナルを用いています.チュートリアル通りdatabase.db中で"conn.execute('CREATE TABLE students (name TEXT, addr TEXT, city TEXT, pin TEXT)')"のコマンドを実行しているのですが相変わらずエラーが出ます.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問