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

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

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

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

SQLite

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

SQLAlchemy

SQLAlchemyとはPython 用のORMライブラリです。MIT Licenceのオープンソースとして提供されています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Python

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

Q&A

解決済

1回答

1973閲覧

FlaskとPythonの環境でデータの読み書きが可能なwebサイトを実装する方法について

退会済みユーザー

退会済みユーザー

総合スコア0

Flask

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

SQLite

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

SQLAlchemy

SQLAlchemyとはPython 用のORMライブラリです。MIT Licenceのオープンソースとして提供されています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Python

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

0グッド

0クリップ

投稿2017/11/26 12:33

###前提・実現したいこと
Flaskを用いてwebページを作成しています。
以下の記事を参考に進めています。
参考記事

実現したいことは、
0. バーコードリーダを用いて、バーコードを読み取り、Webページから送信
0. 送信された番号をデータベースに蓄積
0. その番号に紐づく商品名をデータベースから読み出す
0. 読み出された商品名をwebサイトで表示
という流れです。

###発生している問題・エラーメッセージ
記事の下部に以下のような紹介があり、

なお、送信されたデータをデータベースに蓄積したり、データをデータベースから読み出したりするのも SQLAlchemy などを組み合わせることで簡単にできます。これだけでも実用的なアプリケーションが作れそうだという感覚がつかめてきたのではないでしょうか。

SQLAlchemyについて調べているのですが、
SQLite3を用いているような以下のコードとSQLAlchemyの関係性がよく理解できず、困っています。
以下のコードはプロトタイプを知人に紹介いただいた時のコードで、理解は及んでいませんが、自分で実装する必要があるため、参考記事で実装されているwebサイトでデータをデータベースに蓄積したり、データをデータベースから読み出したりできる実装を加えたものを開発するためのアドバイスをいただきたいです。

Python

1# -*- coding: utf-8 -*- 2 3import sqlite3 4 5#dbname = 'master_data.db' 6dbname = 'master_data.db' 7c = sqlite3.connect(dbname).cursor() 8 9for row in c.execute("select * from 'master_data' where jan == '4901306047569' limit 1"): 10 print row[0] 11 print row[1].encode('utf-8') 12 print row[3] 13 with open('result_from_python.jpg', 'wb') as f: 14 f.write(row[2])

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

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

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

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

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

guest

回答1

0

ベストアンサー

SQLAlchemyはデータベースに関する一般的な処理を隠匿して、データをオブジェクトにマッピングしてくれるORマッパーです。

友人の方はデータベースに関する良いサンプルを紹介しています。そのサンプルが理解できないうちは、色々と無理でしょう。

サンプルコードの説明

python

1# sqlite3というデータベースに接続するためのライブラリ(便利ツール)が 2# 使えるようにインポートしている 3import sqlite3 4 5# データベースのファイル名を変数に格納している 6# コメントアウトされている部分の意図は不明 7#dbname = 'master_data.db' 8dbname = 'master_data.db' 9# データベースを開いてSQLクエリを実行するためのカーソルを 10# 変数に格納している 11# カーソルはデータベース読み書きのための窓口のイメージ 12c = sqlite3.connect(dbname).cursor() 13 14# selectから始まるSQL文を実行して、その結果を一行ずつrowに 15# 格納してfor文の中の処理を繰り返している 16for row in c.execute("select * from 'master_data' where jan == '4901306047569' limit 1"): 17 print row[0] 18 print row[1].encode('utf-8') 19 print row[3] 20 with open('result_from_python.jpg', 'wb') as f: 21 f.write(row[2])

投稿2017/11/26 12:51

編集2017/11/26 13:25
YouheiSakurai

総合スコア6142

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

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

退会済みユーザー

退会済みユーザー

2017/11/26 12:58

コメントいただきましてありがとございます。 このサンプルを理解するために、色々探しているのですが、初心者でうまく探すことができず、こちらで質問させていただいた次第です。
YouheiSakurai

2017/11/26 13:29

ではサンプルコードのわからない部分を質問した方が良かったと思います。分からない部分が分からないのであれば、そのように明記&何なら分かるかを示すと良いと思います。
退会済みユーザー

退会済みユーザー

2017/11/27 00:27

ご丁寧に解説いただきましてありがとうございます。質問力も磨いていきたいと思います。 説明を拝読させていただきましたが、上記コードにはSQLAlchemyは関連していないという解釈で合っているでしょうか。
退会済みユーザー

退会済みユーザー

2017/11/27 00:36

ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問