Acronym とかInitialismとか覚えにくい。混同してしまう。
専門用語、ただの英語だったりするけど業界でよく使う言葉は理解が必要。
覚えればいいだけだけど、メモしておきたい。
これをDjangoで作成してスマホですぐに見れるようにしようと思った。
スマホのアプリは敷居が高いので、いわゆるWebアプリ?
簡単なのでFlaskというのがいいかと思ったけど、案外面倒くさい。
慣れたらDjangoも面倒でもないし、いろいろ作ってきたのでメリットが。
cssやbaseのHTMLとか使いまわしてるし。
Sqliteを使えば簡単なんだろうけど、おもしろいのでJSONで作成してみた。
中身が見たければそのままプリントアウトで済みそうだし。
調べたら、Modelを作ってformを書いて… と出てきたが、ただのテキストファイルなので、普通にHTMLのフォームでできるんじゃない?
ただ、Formオブジェクトを介さないので、formのvalidは使えない。(たぶん)
でも、項目数が少ないので、必須項目のチェックだけすればよい。(こととした)
Formのinputの値はrequest.POST.getlist(‘key’)の形で受け取れる。
strkey=request.POST.getlist('key')[0]
strkey=unicodedata.normalize("NFKC", strkey).lower()
strkey=strkey.replace(" ", "")
if strkey == '':
isGo=False
入力必須の項目をチェックしているだけ。
JSONに追加するには、
if isGo:
data = {
"key": strkey,
"acronym": stracronym,
"term": strterm,
"explain": strexplain
}
json_data.append(data)
with open(json_path, "w", encoding="utf-8") as f:
json.dump(json_data, f, ensure_ascii=False, indent=4)
削除したり更新したりするには、keyをその項目としている。
(厳密ではないので同じものがあるとアウト)
削除は、
if isGo:
json_path = os.path.join('json/term.json')
with open(json_path, 'r', encoding='utf-8') as f:
json_data = json.load(f)
filtered_data = [item for item in json_data if item["key"] != strkey]
with open(json_path, "w", encoding="utf-8") as f:
json.dump(filtered_data, f, ensure_ascii=False, indent=4)
自分で使う分にはなんの問題もない。🙂

