自動化無しに生活無し

WEB開発関係を中心に備忘録をまとめています

  • dockerのイメージファイルを出力し(docker save)、出力されたファイルを読み込む(docker load)

    • 作成日時:
    • 最終更新日時:
    • Categories: インフラ
    • Tags: docker tips ubuntu
    dockerコンテナをイメージ化した後、配布する場合、dockerHubを使う方法の他に直接ファイルをやり取りする方法もある。 下記コマンドでOK sudo docker save [イメージファイルのリポジトリ名] -o [出力したいファイル名].tar この出力されたファイルを別PCから読み込む sudo docker load -i [さっき出力したファイル名].tar 読み込みした後のイメージファイルのリポジトリ名は、もともとのリポジトリ名を引き継ぐ。 結論 ちなみに ...
  • HTML5とCSS3だけでAmazon風の星レビューのフォームを再現する【ホバーした時、ラジオボタンのチェックされた時に星を表示】【flex-direction:row-reverseで逆順対応可】

    以前、サーバーサイドで1から5のいずれかの数値を受付、DBに保存する方法を実践したが、フロント系ではそれをもう少しおしゃれに実装させたい。 そういう時は、なるべくJavaScriptを使用せず、HTMLとCSSだけで表現するのがベターなやり方だと個人的には思う。 だからこそ、今回も同様にHTMLとCSSだけでレビューの星を入力するフォームを再現した。 マウスをホバーした時、星が塗りつぶされ、外れると星が ...
  • Djangoのモデルにて指定された選択肢をセットし、それだけ入力を許可する【choicesフィールドオプションで都道府県の指定をする】

    例えば、都道府県の指定、どうやってモデルに格納するか。都道府県は47個。これ以外の物を選ぶことはできない。 故に、CharFieldを使用して、都道府県の格納先のフィールドを作るのは、間違っているわけではないが、あまりスマートではない。 そこで、フィールドオプションのchoicesを使用して、特定の選択肢のみ入力を許可する。 【前提】settings.py settings.pyにて、都道府県の名前を定義 ...
  • Djangoで現在時刻以降の日時入力を促すのであれば、MinValueValidatorとMaxValueValidatorを使用する【DateTimeFieldで予約システム開発に】

    • 作成日時:
    • 最終更新日時:
    • Categories: サーバーサイド
    • Tags: django
    予約システムなどでは、指定した日時以降の日時を入れてもらう必要がある。 入力できる日時にフロント側で制限をかけることができれば良いが、それだけでは限界がある。 そこで、Djangoではmodelsのフィールドオプションであるvalidatorsを使用することで、指定した日時以降の日時だけを入力できるようになる。 MinValueValidatorsで現在時刻以降の日時入力をさせる モデルはこうかけばよい。 ...
  • UbuntuでUbuntuのdockerイメージを作るまで

    インストール sudo apt install docker.io これでインストールできる。 用語解説 イメージ イメージとは、OSのとある状態をセーブした物。実機にOSをインストールする時、必要になるイメージディスクと思えば話が早い。 例えば、Ubuntuをインストールした直後の状態を再現したい場合、UbuntuのイメージをdockerHubのUbuntuリポジトリからDLしてコンテナを作る。 コンテナ コンテナとは、イメージを元に作った仮想環境。複数 ...
  • 【Stripe】Djangoにクレジットカード決済機能を実装させる

    DjangoでECサイトや課金ゲームサイト等を展開しようと考えているのであれば、避けて通ることができないのがカード決済。 Stripeというカード決済代行会社を利用することで、決済処理を手軽に実装させることができる。 本記事ではその一例を紹介する。 共通設定 まず、stripeライブラリをインストールする pip install stripe settings.pyにて下記をセットしておく。Stripeの秘密鍵は.gitignoreに指定 ...
  • 【Django】管理サイトで保存した時、何か処理(メール送信など)を実行して欲しい時【saveメソッドオーバーライドは通用しない】

    Djangoの管理サイトでモデルの保存をした時、何か実行して欲しいものがあれば、saveメソッドのオーバーライドでは通用しない。 Adminクラスにsave_modelメソッドがあるので、それをオーバーライドして使う。 class MyAdminView(admin.ModelAdmin): def save_model(self, request, obj, form, change): super(MyAdminView, self).save_model(request, obj, form, change) 用途 管理サイトから作成・編集をして、保存した時に発動するので、以下の用途が考えられる。 通販サイトにて配送処理完了のブーリアン値を変更、それを判定して配送処理完 ...
  • 【Node.js】npmとは、npmコマンドについて

    • 作成日時:
    • 最終更新日時:
    • Categories: others
    • Tags: npm tips
    そもそもnpmとは npmはNode.jsのパッケージ管理ツールのこと。Node Package Manager の略。 例えば、Reactを使用するために、Reactを動かすために必要なソフトウェア一式をインストールする必要がある。このソフトウェア一式のことをパッケージという。 npmはこのパッケージのインストール、アンインストールなどの管理を行うことができる。 npmコマンドについて npm install パッケージ パッケージのインストールをする。こ ...
  • 【Django】PUT、PATCH、DELETEメソッドのリクエストを送信する【Django REST Framework】

    前提 まず前提として、PUT、PATCH、DELETEのメソッドはHTMLのformタグから送信することはできない。 例外として、Laravelでは下記のようにしてformタグでDELETEメソッドを送信するが、Djangoではそれは通用しない。これから解説するDjango Rest Frameworkを使用しても。 <form action="{{ route('topics.destroy',$topic->id) }}/" method="POST" style="display:inline-block;"> {{ csrf_field() }} {{ method_field("delete") }} <button class="btn btn-outline-danger" type="submit">削除< ...
  • 【Django】ビュー関数とビュークラスの違い、一覧と使い方

    ビュー関数とビュークラスの違い。 前提 (bbs/urls.py) config/urls.pyからアプリ(bbs)のurls.pyを読み込み、その中身は下記とする。 from django.urls import path from . import views app_name = "bbs" urlpatterns = [ path('', views.index, name="index"), ] 構文 関数ベースのビュー from django.shortcuts import render,redirect from .models import Topic from .forms import TopicForm def index(request): if request.method == "GET": topics = Topic.objects.all() context = { "topics":topics } return render(request,"bbs/index.html",context) elif request.method == "POST": form = TopicForm(request.POST) if form.is_valid(): form.save() return redirect("bbs:index") メソッドをif文で分岐させる形式になっている。 クラスベースのビュー(View) from django.shortcuts import render,redirect from django.views import View from .models import Topic from .forms import TopicForm class IndexView(View): def get(self, request, *args, **kwargs): topics ...