私は、riak、python、flask フレームワークを使用する小さなプロジェクトに取り組んできました。ほとんどの場合と同様に、riak に保存されているオブジェクトの作成日と、その他の日付 (セッションの有効期限など) を保存したいと考えています。最初に日付オブジェクトを保存しようとしたとき、エラーが発生しました。これに対する解決策は、次のようなコードを使用することでした:
def date(obj):
return obj.isoformat() if hasattr(obj, 'isoformat') else obj
def json_date():
return json.dumps(datetime.now(), default=date)
私はそれをテストし、喜んで使用しましたが、後で、より複雑なニーズ、つまりセッションの有効期限が今から N 分後にあることに遭遇したので、すぐにそのようなものを書きました:
def json_session_expiration_date():
return json.dumps(datetime.now() + timedelta(minutes=15), default=date)
アプリケーションのコアが動作するようになったので、より多くの機能を作成する前に、愚かで次善のコードをクリーンアップしたいと考えていました.1つの問題はこれら3つの機能にあります-日付の目的が何であるかを明確に理解していません. (obj) 関数であるため、それらすべてを 1 つの関数に簡単に結合することはできません。どんなアドバイスでも大歓迎です!