
python| まとめ | 現役エンジニア&プログラミングスクール講師「python」のまとめページです。pythonに関して抑えておきたい知識や文法やにについて記事をまとめています。まとめページの下部には「おすすめの学習書籍」「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中...
目次
目標
- 会計に対して割引機能を実装する
割引機能
ここでは、会計時に割引を行うための機能を実装します。この機能ではあらかじめ割り引きの割合を登録しておき、会計時に適応させるといったものにします。
feature-discountブランチ
ここでは、feature-discountブランチを作成して作業を行います。
$ git checkout -b feature-discount

必要なファイルやディレクトリの作成
ここでは、割引機能をひとつのアプリケーションで作成します。このアプリケーションのディレクトリ名は「discountapp」とします。以下は必要なファイルです。
- apps/discountapp/static/css/style.css
- apps/discountapp/templates/discount_base.html
- apps/discountapp/templates/discount_form.html
- apps/discountapp/templates/discount_list.html
- apps/discountapp/templates/manage_discount.html
- apps/discountapp/app.py
- apps/discountapp/forms.py
- apps/discountapp/models.py

apps/discountapp/models.py
from apps.common.db import db
# 割引モデル
class Discount(db.Model):
id = db.Column(db.Integer, primary_key=True)
number = db.Column(db.Integer)
priority = db.Column(db.Boolean, default=False)
def __repr__(self):
return f"<Table {self.number}>"
apps/discountapp/forms.py
from flask_wtf import FlaskForm
from wtforms import BooleanField, IntegerField, SubmitField
from wtforms.validators import InputRequired
# 割引率管理フォーム
class DiscountForm(FlaskForm):
number = IntegerField("割引率", validators=[InputRequired()])
priority = BooleanField("優先フラグ", default=False) # 優先フラグ用のフラグ
submit = SubmitField("保存")
割引率「0」を入力することを考慮してnumberでの設定でvalidators=[InputRequired()]を利用しています。VatFormではvalidators=[DataRequired()]となっていましたが、この設定では「0」を未入力と見なしてしまうので、利用することができません。
apps/discountapp/app.py

今回は以上になります。

「python」おすすめ書籍 ベスト3 | 現役エンジニア&プログラミングスクール講師「python」の学習でお勧めしたい書籍をご紹介しています。お勧めする理由としては、考え方、イメージなどを適切に捉えていること、「生のpython」に焦点をあてて解説をしている書籍であることなどが理由です。勿論、この他にも良い書籍はありますが、特に質の高かったものを選んで記事にしています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...

【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
Blueprint Flask Flask-SQLAlchemy Jinja2 MVT python session SQLite アップロード エンジニア セッション テンプレートエンジン バリデーション フレームワーク ルーティング 作成方法 初心者 利用方法 注意点 画像 統合
この続きはNoteとなります。