LoginSignup
14
19

More than 5 years have passed since last update.

【Flaskチュートリアル】罠を回避してPythonでミニブログ「flaskr」を作る。

Last updated at Posted at 2018-10-15

なんのために共有するのか?

ども!デザインエンジニアのMasaです。

言語やライブラリ、フレームワークの学習をしているときに
「よし…チュートリアル通りやったからこれで動くはずだ…(ドキドキ)」
「うわ、エラー吐き出しやがったよ…」
という経験をして枕を涙で濡らす人があとをたちません。

そういう人をなくそう。

ということで
「2018-10-12」時点で動いた状態ものを日本語で共有しておくことで
Flask学習者がつまづかないようにしておきたく思います。

今回のチュートリアルでつくるもの

今回はFlaskチュートリアル(バージョン1系)のこんな感じのブログを作成する。
スクリーンショット 2018-10-10 16.25.09.png

今回、注目するべき実装は
◆ログイン・ログアウト・アカウント登録機能
◆ブログ投稿・ブログの編集・ブログの削除機能
(つまりDBへの新規登録、DBの編集、DBからの削除も含んだ内容ということ)

※注意点  flaskのチュートリアルは1系と0系があるので注意。

環境

Python 3.7.0
Flask 1.0.2
↑ Flaskのバージョンが0系でないことに注意

ディレクトリ構成

flask-tutorial
 └ flaskr
    ├ __init__.py
    ├ auth.py
    ├ blog.py
    ├ db.py
    ├ schema.sql
    │
    ├ static
    │   └ style.css
    │
    └ templates
         ├ base.html
         ├ auth
         │   ├ login.html
         │   └ register.html
         │
         └ blog
            ├ create.html
            ├ index.html
            └ update.html

実際のコード

githubからdownloadしてくださいー。
https://github.com/Pocket-ma-kun/flask-tutorial/tree/master/flaskr

アプリを動かすときは?

まずは、flaskがインストールされているか確認しましょう。
(pipコマンドとpip3コマンドがあるけど、pythonの2系と3系の違いです。)

pip3 list

ここにFlaskの1系が入っていればOK。

もしFlaskが入っていない場合、
下記のインストールコマンドを打ち込めばFlaskがインストールされる。

pip3 install Flask

ターミナルを起動し、
flask-tutorialディレクトリにて4つのコマンドを入力するとアプリが起動する。

コマンド1
flask init-db

これによって

Initialized the database.

とデータベースが初期化されたことがわかる。

コマンド2
export FLASK_APP=flaskr
コマンド3
export FLASK_ENV=development
コマンド4
flask run

というコマンドをうつとだいたいこんな結果が返ってくるはず

terminal
* Serving Flask app "flaskr" (lazy loading)
 * Environment: development
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!

次に実行結果に記載されているURLの

http://127.0.0.1:5000/

をブラウザのURLに入力すると次のような画面が見られる。
スクリーンショット 2018-10-15 18.10.25.png
実際に動くアプリケーションを実行できたので、あとは
自分の学習したい部分に分解して学習していけばOK!

最後に

Flaskチュートリアルはいかがだったでしょうか??
自分ももう少し学習したい部分に分解して学習していくので、
解説リクエストなどあればコメントに記載していただけますと幸いです!

「知りたかったことが知れた!」とか「新しいことが知れた!」
と思ったら左のいいねボタンをポチッとお願いします!
ではではドロン!!

処女作:エロ診断メーカー(共同製作:Kei)
https://ero-shindan.herokuapp.com/

参考文献

Flask Tutorial
http://flask.pocoo.org/docs/1.0/tutorial/

Flask Tutorial source code
https://github.com/pallets/flask/tree/1.0.2/examples/tutorial

Flaskのチュートリアルをやってみる① 〜環境設定からデータベースまで
まさかコマンドラインでdbの初期化をするとは思っていなかった汗
http://o-tomox.hatenablog.com/entry/2013/11/29/183027#f1

14
19
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
19