2017-02-01 5 views
0

私はいくつかの計算を行い、sqliteデータベース内の多数のテーブルに結果を格納しました。今私はそれらの結果をウェブサイト上に表示し、フラスコに自分自身を紹介したいと思っています。 私はすでにいくつかの第一歩を踏み出しており、sqliteデータベースにも接続しています。最初の印象を得るためにテーブルの平らな「印刷」を行いました((SELECT * FROM <table>))。Sqliteデータベースへの基本クエリ - SQLAlchemyが必要ですか?

私が達成したいことは、1つのテーブルの明白なクエリ/プリントを超えています。 3つのテーブル(html)があります。これらの3つの(html)テーブルは、1つのsqliteテーブルから来ます。

SQLiteのテーブル:

product | category | sales 2014 | sales 2015 | sales 2016 
------- | -------- | ---------- | ---------- | ---------- 
p1  | c1  | 23   | 21   | 25 
p4  | c4  | 32   | 54   | 123 
p3  | c6  | 42   | 34   | 54 
...  | ...  | ...  | ...  | ... 

テーブルは、(例えば) "カテゴリ" によってフィルタリングされる。

HTMLテーブル1

product | category | sales 2014 | sales 2015 | sales 2016 
------- | -------- | ---------- | ---------- | ---------- 
p1  | c1  | 23   | 21   | 25 
...  | ...  | ...  | ...  | ... 

HTMLテーブル2

product | category | sales 2014 | sales 2015 | sales 2016 
------- | -------- | ---------- | ---------- | ---------- 
p4  | c4  | 32   | 54   | 123 
...  | ...  | ...  | ...  | ... 

html-テーブル3

product | category | sales 2014 | sales 2015 | sales 2016 
------- | -------- | ---------- | ---------- | ---------- 
p3  | c6  | 42   | 34   | 54 
...  | ...  | ...  | ...  | ... 

これを達成するための方法が、多数のSELECT文によって実現されます。

これらのRAW-SQLステートメントを使用するのがよい方法でしょうか?

これは私がこれまで読んできたものなので、一般的には「いいえ」と言います。 SQLAlchemyを使うべきです。私はそれを試したが、私はそれの周りに私の頭を上げるのに苦労している。さらに、私はそれが「あまり」であると思っています(つまり、私が使っているテーブルの間には関係がありません、私はウェブサイトなどからテーブルを更新したり変更したりしません)

私があなたから知りたいのは、 SQLAlchemyのさらなる見方は、私が達成したいこと(ウェブサイト上のいくつかのテーブルの内容を表示することです)に関して、使用されるでしょうか?

ありがとうございます。

+0

を、より私はSQLAlchemyの少しを使用することを学ぶといいと思います。たとえあなたがしなくても、あなたに新しいことを試し、おそらくあなたの履歴書に新しいスキルを加えることは良い練習になるでしょう。しかし、あなたはする必要はありません。あなたのクエリやDBに入る可能性のあるユーザー入力を受け入れていない限り、それは大きな問題ではありません。 – coralvanda

答えて

0

あなたがはるかにそのフラスコを試していないが、私はあなたの迅速なイントロ与える明白です:あなたが今までSQLデータベースを伴うだろう。このような別のプロジェクトをやって自分を見ることができる場合

class Total(db.Model): 
    product = db.Column(db.String()) 
    category = db.Column(db.String()) 
    ... 

@app.route('/') 
def index(): 
    total = Total.query.all() #get all records 
    render_template('index.html', total=total) 
#index.html 
{% for record in total %} 
    <table> 
     <thead> 
      <tr> 
       <th>product</th> 
       <th>category</th> 
      </tr> 
      </thead> 
     <tr> 
      <td>{{record.product}}</td> 
      <td>{{record.category}}</td> 
     </tr> 
    </table> 
{% endfor %} 
関連する問題