2021 07 08

DRFでオブジェクトを作成したとき、 デフォルトで、 作成したオブジェクトを含むディクショナリー型でデータを返す。 keys() Pythonの組み込み関数。 keys() dict = {"A": "Abalone", "B": "bluefin tuna", "C": "cod"} print(dict.keys()) >>>dict_keys(['A', 'B', 'C']) dict = {"A": "Abalone", "B": "bluefin tuna", "C": "cod"} for key in dict.keys(): print(key) >>>A >>>B >>>C getattr Pythonの組み込み関数。 getattr(object, name[,default]) 第一引数に指定された object の値を返す。 第二引数の name は文字列である必要があり、文字列が object の属性の一つの名前であった場合、戻り値はその属性の値になる。 query_params request.GETと同義語。 DRF では query_params を使用することを推奨。 DRF ドキュメント

July 8, 2021

Django Rest Framework

APIClient APIClientは Djang の Clientクラスを拡張したもの .get()、.post()、.put()、.pathch()、.delete()、.head()、.options()が利用可能。 例 from rest_framework.test import APIClient client = APIClient() client.post('/notes/', {'title': 'new idea'}, format='json') status from rest_framework import status 人間が読むことができるステータスコードを含む。 テストの際に理解が簡単 github refresh_from_db() モデルのバリューをリフレッシュ使うのに使用。 このメソッドが引数なしで呼ばれると モデル上の遅延評価されない全てのフィールドはその時点でデータベース上に存在する値に更新されます。 キャッシュされたリレーションはリロードされたインスタンスに削除される。 Django ドキュメント force_authenticate() テストする際に強制的に認証をリクエストする force_authenticate(request, user=None, token=None)が呼ばれる時 user か token のいずれか、または両方を設定できる。 GenericViewSet GenericViewSet クラスは GenericAPIView の継承し、get_object、get_queryset を提供し、デフォルトでは GenericViewSetクラスを使用するには、クラスをオーバーライドして、必要なmixinクラスをミックスインするか、アクションの実装を明示的に定義します。 DRF ドキュメント ModelSerializer ModelSerializerクラスはSerializer class とモデルの一致するフィールドを自動で作成する ModelSerializer クラスは Serializer と同じだが、 *モデルを基にフィールドを自動で作成する *unique_together のようなserializerのためのvalidatorを自動で作成する *デフォルトで .create() .update() 含む。...

July 7, 2021

GitHub Pages で静的サイトの公開方法

公開したいページのあるリポジトリの Settings をクリック。 サイドナビの Pages をクリック。 公開したいブランチを選択 事前にCNAMEでドメインを設定しておいて 設定したドメインを適用

July 6, 2021

Hugo の始め方

日々学んだ事を記録に残そうと始めました。 Word Press や Django でブログを作成しようと思いましたが、 速度やメンテナンスを楽にしたかったので、Hugoで作成。 設定環境 Win 10 WSL2 Ubuntu 20.04 1. Hugoのインストール Ubuntuでのインストール sudo apt-get install hugo 2. サイトの作成 hugo new site sitename sitename は自分の好きな名前に置き換えてください。 3. テーマの追加 Hugo のテーマ から好きなテンプレートを選択。 PaperMod を選択したので、 インストラクションに沿ってgit clone git clone https://github.com/adityatelange/hugo-PaperMod themes/PaperMod --depth=1 4. コンテンツの追加 hugo new posts/my-first-post.md --- title: "My First Post" date: 2019-03-26T08:47:11+01:00 draft: true --- ※draft: false に変更で公開 5. Hugo server を起動 hugo server

July 5, 2021