クッキーカッターフラスコ
クッキーカッター用の Flask テンプレート。 (Python ≥ 3.8 をサポート)
最新バージョンのテンプレートから生成されたサンプル プロジェクトについては、このリポジトリを参照してください。
今すぐ使用してください
Docker (これは、新しいプロジェクトを作成する場合に推奨される方法です)
$ git clone https://github.com/cookiecutter-flask/cookiecutter-flask.git
$ cd cookiecutter-flask
# Basic usage (You will be prompted to provide basic information about your application)
$ ./cookiecutter-docker.sh
full_name [Steven Loria]:
...
# The repository for your flask app will be created in a directory with the name
# chosen in "package import name" question (default ./my_flask_app/)
# Additional arguments are available
$ ./cookiecutter-docker.sh --help
Usage: ./cookiecutter-docker.sh [OPTIONS]
Options:
-b, --build Build Docker image before running cookiecutter
-h, --help Show this message and exit
標準
標準命令を使用する場合は、Python ≥ 3.8 が必要です。仮想環境 ( virtualenv
など) が推奨されます。
pip3 install cookiecutter
cookiecutter https://github.com/cookiecutter-flask/cookiecutter-flask.git
基本情報 (名前、プロジェクト名、アプリ名など) について尋ねられます。この情報は新しいプロジェクトで使用されます。
構成と実行
プロジェクト コードを生成した後、新しいアプリを実行する前に、さらにいくつかの手順を実行する必要があります。生成されたプロジェクトの README には、アプリケーションの構成方法と実行方法が記載されています。 (テンプレートの README はここでご覧いただけます)。
特徴
- Bootstrap 5 および Font Awesome 6 とスターター テンプレート
- 基本的なユーザーモデルを使用した Flask-SQLAlchemy
- Flask-Migrate による簡単なデータベース移行
- The Twelve-Factor App による環境変数の設定
- ログインおよび登録フォームを備えた Flask-WTForms
- 認証のための Flask-Login
- Flask-Bcrypt によるパスワードハッシュ化
- PaaS (例: Heroku) にデプロイするためのプロファイル
- テスト用の pytest および Factory-Boy (テスト例が含まれています)
- 簡単なコマンドで構成された Flask の Click CLI
- Webpack を使用した CSS と JS の縮小化
- フロントエンドパッケージ管理の npm サポート
- Flask-Cache を使用したキャッシュ
- 便利なデバッグツールバー
- ベスト プラクティスの活用: ブループリントとアプリケーション ファクトリ パターン
スクリーンショット
インスピレーション
- Flask アプリの構築
- Flask-Foundation by @JackStouffer
- フラスコの骨 by @cburmeister
- @mjhea0 による flask-basic-registration
- Flask 公式ドキュメント
ライセンス
MITライセンス取得済み。
変更履歴
未発表
- すべてのノードの依存関係を最新バージョンに更新します
- テンプレート CI の Github Actions の使用に切り替える
- Cookiecutter オプションとしての Node 10 のサポートを削除
- 多段階ビルドをより効率的に使用するために Docker イメージをリファクタリングしました
- テンプレートを使用して生成されたプロジェクトは、CI の Github アクションを使用します
- Webpack を 5.x にアップグレードする
- Python 3.6、3.7、および 3.8 のサポートを終了
- Python 3.9、3.10、3.11、および 3.12 のサポートを追加しました
- ノード 18 および 20 LTS を追加
- ノード 12、14、および 16 LTS を削除
18.0.0 (2018/09/09)
- CalVer (
YY.MINOR.MICRO
) を使用します。 - Bootstrap 4 にアップグレードしてください。@adawalli と @Hiyorim に感謝します。
- 設定には環境変数を使用します。
- Pipenv のサポートを追加します。
- Python とノードの依存関係をアップグレードします。
0.13.0 (2017/06/25)
- フロントエンド アセットの構築には webpack を使用します。フロントエンドの依存関係は NPM とともにインストールされます。 Flask-Assets と bower.json を削除します。ありがとう@wroberts。
0.12.0 (2016/11/06)
0.11.1 (2016/11/06)
- 0.11 ドキュメントに従って、最初のパラメータを
Flask
に正しく渡します。ありがとう@aliavni。 - Heroku でのデプロイメントを修正するには、依存関係として setuptools と Wheel を削除します。ありがとう@Cabalist。
- 新しいバージョンの bcrypt との互換性を確保するために、User.password をバイナリ フィールドにします。 @Cabalist 改めてありがとう。
0.11.0 (2016/09/10)
- 開発環境と運用環境の異なる構成を制御するには、MYFLASKAPP_ENV の代わりに FLASK_DEBUG システム環境変数を使用します。
0.10.1 (2016/08/28)
0.10.0 (2016/08/28)
- Flask 0.11 にアップデートします。
- CLI コマンドには Flask-Script の代わりに Click を使用します。
0.9.0 (2016/03/06)
- 古い要件を更新します。
- CSRF 保護を追加します。
- Travis ビルドで
lint
コマンドを実行します。 - Python 3.5 に対してテストします。
0.8.0 (2015/11/09)
- 古い要件を更新します。
-
lint
、 clean
、およびurls
管理コマンドを追加します。 - アイソートを追加します。
@andreoliw の貢献に感謝します。
0.7.0 (2015/04/14)
- michiko/flask#1135 に従って、拡張機能のインポート スタイルを flask_* に更新します。
- 古い要件を更新します (Werkzeug、Flask-WTF、WTForms、Flask-Bcrypt、Flask-DebugToolbar、Flask-Migrate、Bootstrap、jQuery)。 Flask-Migrate への重要なパッチについて通知してくれた @bsmithgall に感謝します。
0.6.0 (2014/12/01)
- Travis でクッキーカッターをテストします。ありがとう@joshfriend。
- 古い要件を更新する (Flask-WTF、Flask-Migrate、Flask-DebugToolbar)
0.5.0 (2014/09/29)
- .travis.yml を修正。
- 古い要件を更新します (Flask-WTF、WTForms、Flask-SQLAlchemy、jquery、Bootstrap)
0.4.3 (2014/07/27)
-
BaseFactory
クラスを追加します。 - compat.pyモジュールを追加します。
- テストは Python 3 で合格します。
0.4.2 (2014/07/27)
- ファクトリーを、factory-boy >= 2.4.0 構文に更新します。
- 古い要件を更新します。
0.4.1 (2014/06/07)
- 古い要件を更新します (Werkzeug 0.9.6、WTForms 2.0)
- home.html の不一致の div タグを修正 (@level09 に感謝)
0.4.0 (2014/04/19)
- あまり冗長でない外部キー列には ReferenceCol を追加します。
- 整数の主キーをモデルに追加するための SurrogatePK ミックスインを追加します。
- CRUD コンビニエンス メソッドを持つ基本 Model クラスを追加します。
- BCrypt 暗号化の複雑さの設定を修正しました。テストははるかに高速です。
- ReferenceCol の使用法を示すロール モデルを追加します。
- pytest に切り替えます。
- 古い要件をすべてアップグレードします。
- さらに多くのテスト例。
- cookiecutter.json から「年」を削除します (必要に応じて LICENSE を変更するだけです)。
0.3.2 (2014/02/26)
0.3.1 (2014/02/20)
- cookiecutter.json のデフォルトの年を更新します。ありがとう@Omeryl
- Web テストでのリダイレクトの正しいテスト。ありがとう@Widdershin
- ナビゲーションフォームのPOSTアクションを修正しました。ありがとう@Widdershin。
- ブートストラップ (3.1.1) および jQuery (2.1.0) を更新します。
- バウアーのオプションのサポート。
- 縮小されたアセットは開発環境では使用されません。
0.3.0 (2013/12/08)
- よりモジュール的な構成: 各ブループリントには、ディレクトリ内に独自のビュー、モデル、フォームが含まれています。テンプレートと静的アセット用のディレクトリは依然として 1 つあります。
- パスワードのハッシュ化には Flask-Bcrypt を使用します。
- 認証のための Flask-Login。
- シンプルなテストセットアップ。
DbTestCase
のサブクラスを作成するだけです。 - Flask テストのサポート。
- テスト工場にはFactory-Boyを使用してください。
- 機能テストには WebTest を使用します。
- Flask-Debugツールバーを追加します。
- Flask-Migrate を使用した移行。
- Flask-Cache を使用したキャッシュ。
- エラーページテンプレートの追加(404、401、500)
- アイコン用に Font Awesome 4.0.3 を追加します。
0.2.0 (2013/09/21)
- manage.pyスクリプトを追加
- CSS および JS バンドル + 縮小用の Flask アセットを追加
- MYFLASKAPP_ENV システム環境変数によって制御される、開発環境と運用環境に異なる構成を使用します。
- ブループリントとアプリケーション ファクトリ パターンを使用します。
simple
ブランチではこれらを使用しません。
0.1.0 (2013/08/20)
- 最初の反復
- ブートストラップ 3 ファイナル
- ワーキングユーザーモデルと登録