オタク大学生の日記

愚痴の置き場(あと色々実験したりする場)

flaskとかjavascriptで家計簿アプリ的なもの

前置き

突然ですが、春から一人暮らしを始めたので食費とか消耗品とかだけではあるんですが、
一応記録を取るようにしています。買ったものが何で、値段がいくらで、食費なのか
それ以外なのかをテキストに残し、月ごとに合計が見られる簡単なpythonのコードで
その辺を管理しています。
とはいえいつまでもCUIで入力し続けるのもあれだし、フロントエンドも勉強しているので
なんかやってみたいということでブラウザ上で操作するものを作ろうと思いいたりました。

概要

アプリの概要としてはWebアプリケーションのフレームワークであるflask、フロントで色々
してくれるjavascript、データの管理をpostgresqlで書くことにしています。
まあ、これらは今職場で使っているので勉強も兼ねているので一石二鳥な感じです。

中身

中身がどんな感じかと言うと基本的には
・まずフロント側で入力をもらい、それをajaxでサーバ側に送る
・フロントからもらったデータをサーバ側がDBに登録する
の2つの動作で成り立っているどこにでもありそうなアプリケーションになっています。

まとめ

一応サーバ側の処理(DB操作)に関してはほぼ書き終わっていて、後は
適切に呼び出すくらいにはなっています。ですが色々あってinsert実行時に
追加したデータに割り当てられたserialな値を取得しないといけなかったりするため、
その辺の実装方法についてまずは調べるところかという感じです。

次の土日辺りで完成させたいな.....

今週実装できた箇所

$.ajax({
              url: '{{ url_for('general.insert_purchase') }}',
              type: 'post',
              dataType: 'json',
              data: json_data,
              timeout: 1000,
              contentType: 'application/json',
              success: function(response) {
                console.log('success insert');
              }
            });


if request.headers['Content-Type'] == 'application/json':
        print(request.headers['Content-Type'])
        request_data = request.json
        insert_data = (
                        request_data['name'],
                        request_data['date'],
                        request_data['price']
        )
        insert_record(insert_data)
        #ここでsql実行時にserialな値をフロントに渡したい
        return ''