kuroの覚え書き

96の個人的覚え書き

Flask

MySQLとpythonの連携

MySQLとpython(SQLAlchemy)でのお作法の違いをまとめておこう tableにRow(行)を追加する MySQL mysql > INSERT INTO users (name, id) VALUES('kuro', 1);Python >>> user_kuro = User(username='kuro', id=1) >>> db.session.add(user_kuro) >>> db.sessi…

データベースを検索

さて、MySQLと接続もできたし、次はモノホンのデータベースで検索して結果を表示できるようにしてやろう。 とデータベースをインポートしてみてわかったことは、プログラミングを意識せずにつけた名前が読み込めないってこと。 pythonでは変数名が数字で始ま…

MySQLとの接続

キタ━━━━(゚∀゚)━━━━!! ってほどでもないが、ようやくトップページをどういう風に編集したらどう表現されるかわかってきた。 MySQLデータベースとの接続にも成功し、ブラウザから投げたwordをデータベースに書き込み、書き込んだデータベースから読み出したデー…

webのviewからデータベースにアクセス

スクリプトにデータベースとやり取りするための仕組みを用意する。 @app.route('/', methods=['GET', 'POST']) #/にアクセスしたら始動 def index(): form = NameForm() #NameFormからインスタンス作成 if form.validate_on_submit(): user = User.query.fil…

データベース再び

前にもやったが from flask_sqlalchemy import SQLAlchemy #モジュール読み込みSQLALCHEMY_DATABASE_URIというconfiguration keyでデータベースを読み込む SQLiteを使うときにはsqlite:////absolute/path/to/databaseという感じに指定するわけだが アプリケ…

リダイレクト

ブラウザでリロードすると こんな表示が出る。 これを出さないための方法らしいのだが、よくわからない。今のページではどんどん書き足していくページじゃないから問題はないが、書き足していくページでリロードでまた書き込まれてしまうのを防ぐ意味がある…

インタラクティブな表示

ここまで一部最初のurlの部分でページを切り替える以外は静的なコンテンツ表示方法をやってきた。 データベースと連携していくにはどうしてもこっちから検索ワードを投げて、結果を返してもらう等、サーバーとクライアントでデータをやり取りする必要が出て…

python3 でvirtualenv

昨日作業したvirtualenvだが、なにかおかしいなと思ったら、 $ virtualenv venv ではpython2.7の仮想環境が出来上がってしまう。 なんとなく変な感じがしてたんだよな。 python2の仮想環境上にpip3でモジュールをインストールとかしてたからで、python3の仮…

Flask-Bootstrap

さて大まかなwebページの表示のさせ方はだいたいわかった。では見栄えのするページをどうするかだが、一から作ってては一向に完成に向かわないだろうから既成のフレームワークを導入する。 そこでBootstrapのお出まし。これ使うとデフォルトでツイッターのペ…

business logicとpresentation logic

データベースとのやり取り、ユーザーからのリクエスト受付などのタスクとブラウザへの表示タスクを分けておかないとメンテナンスが大変。 Flaskでは後半の表示部分をJinja2というtemplate engineで処理している。 ここをもう一度ちゃんと押さえておく。基本…

python virtualenvふたたび

SQLをMySQLにしてflaskから使いたいわけだけど、やはり一足飛びに行こうとすると色々わからないことが出てくるわけで、まずはwebの表示周りからきちんと理解して押さえていくことにする。ねっとの情報は色々役に立つが、やはり系統立てて理解するにはバラバ…

データベースサイトの構築 flaskによるwebアプリ開発

今日もflaskから始めよう。本日の目標 まずはhtmlを読み込む。 次にインタラクティブな動作。htmlファイルの読み込み。 用意するもの hello2.py # hello2.py from flask import Flask, render_template #render_templateクラスもインポート app = Flask(__na…

データベースサイトの構築

現在の最優先ミッション現在あるMySQL+PHPのデータベースをもとに拡張して新たなデータベースサイトを構築する。手順 1現状のPHPサイトの構造を解析して、他の言語で検索や一覧表示などできるように移植(一応pythonにするつもり) 2webアプリケーションの…