自動化無しに生活無し

WEBとかAIとかLinux関係をひたすら書く備忘録系ブログ

  • 【Django】Stripeでサブスクリプション決済を行う

    1回限りの決済を行いたい場合は、下記。 【Stripe】Djangoにクレジットカード決済機能を実装させる 対象読者は、カスタムユーザーモデルとDjangoのデフォルトの認証機能を実装済みとする。 【Django】デフォルトの認証機能を網羅し、カスタムユーザーモデルとメール認証も実装させる【脱allauth】 Stripeにてサブスクリプション商品を作る まず、Stripeにてサブスクリプション商品を作る。 ...
  • 【django】summernoteを使用してwysiwygエディタを表示させる【マークダウンよりも簡単】

    wysiwygエディタとは? このようなエディタのことである。 入力した内容と、ページに表示される内容が全く同一。 MSwordのようなエディタをウェブ上で扱うことができる。(.docxファイルがウェブ上で扱えるわけではないので注意。) 今回も40分DjangoをベースとしてDjango-summernoteを実装していく。 Djangoでwysiwygエディタを使うならdjango−summernote 以 ...
  • 【Django】管理サイトで任意のJavaScript、CSSを発動させる【管理サイトのカスタム】

    前提 前もって、プロジェクト直下のtemplatesが作られており、settings.pyのTEMPLATESでもそれが読まれている状況であるとする。 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ BASE_DIR / "templates" ], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] 作業 templatesの中にadminディレクトリを作る。 mkdir templates/admin/ templates/admin/base.htmlを作る。内容は下記。 {% extends 'admin/base.html' %} {% block extrastyle %}{{ block.super }} <style> body{ background:orange; } </style> <script>console.log("test;");</script> {% endblock %} これで管理サイトの全ページでC ...
  • 【Django】GitとSSHを使ってUbuntuへデプロイする(virtualenvでPythonライブラリの管理)【hookでmigrateコマンドも】

    要求される知識が非常に多いため、下記対象読者に該当する方のみ、閲覧を推奨します。 対象読者 Linuxのコマンドがわかる CUIエディタ(nanoもしくはvim)が扱える すでにDjangoプロジェクトをUbuntuへデプロイをしたことがある gitを使ったことがある(ステージング→コミット→プッシュができればOK) SSHでUbuntuへリモートログインをしたことがある(パスワード認証ができればOK) vir ...
  • Next.jsのインストール方法とプロジェクトの作成

    本記事ではUbuntu22.04にインストールする。 インストール パッケージの更新 sudo apt update && sudo apt -y upgrade && sudo apt -y autoremove build-essentialのインストール sudo apt install build-essential nodeのインストール curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash – sudo apt install nodejs 参照元: Ubuntu18.04にnode.jsとnpm、vue-cliをインストールする プロジェクト作成 プロジェクトの作成 npx create-next-app next-project プロジェクトのディレクトリに移動 cd next-project サーバーを起動する。 npm run dev 結論 n ...
  • 【Laravel】GitHubからダウンロードしたプロジェクトを動作させるには?

    GitHubにプッシュされているLaravelプロジェクトをDLして動かすには別途手順を踏む必要がある。 前提 Ubuntuを使用している場合、必要なPHPパッケージが既にインストールされているかをチェックする sudo apt install -y php8.1-cli php8.1-common php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php8.1-xml php8.1-bcmath php8.1-sqlite3 もし、これでパッケージが見つからないと表示される場合は、リポジトリの追加がされていない状況である。 下記コマンドを実行して、再度↑のコマンドを実行する。 sudo apt-add-repository ppa:ondrej/php GitHu ...
  • DjangoとReactを組み合わせる方法論と問題の考察

    DjangoとReactを組み合わせることで、画面遷移の全く無いSPA(シングルページアプリケーション)を作ることができる。 もちろん。jQueryのAjaxを使うことでも簡単に実現はできるが、 仮想DOMが使えない 手続き型である などの点から、開発規模が大きくなると、SPAを維持することが難しい。 だからDjangoとReactを組み合わせて効率的にSPAを開発する。 しかし、問題点が多々ある。モダンなや ...
  • 【Django】createメソッドを使用して、新規作成する【バリデーションしない点に注意】

    .create()を使うことで手軽に新規作成ができる。 Model.objects.create() 40分Djangoを元に組むとこうなる。 from django.shortcuts import render,redirect from django.views import View from .models import Topic class IndexView(View): def get(self, request, *args, **kwargs): # .create()を使うことで.save()を使わなくても新規作成ができる。返り値は新規作成したモデルオブジェクト topic = Topic.objects.create(comment="これはテストです。") print(topic) # バリデーションまではされない点に注意。 topic ...
  • 【Django】OneToOneFieldでつながっているデータの取得方法【モデル名を小文字にした属性名で取得できる】

    OneToOneFieldを使う機会は限定されているので、備忘録として。 タイトルから既に(?)な状態かも知れないが、まずは、下記モデルを見てもらいたい。 # 店舗データテーブル class StoreData(models.Model): class Meta: unique_together = ("store","date") store = models.ForeignKey(Store,verbose_name="店舗",on_delete=models.CASCADE) date = models.DateField(verbose_n ...
  • 【Python】def関数に、PHPやJavaScriptでよく見るアロー関数(->)っぽいものはアノテーション

    例えば、以下の関数があったとする。 def test(name:str) -> str: return name print( test("taro") ) print( test(12) ) これは文字列を受け取って文字列を返す関数である。 ただし、上記のように文字列型じゃない型を受け取っても正常に動作はする。 あくまでも注釈として利用することができる。関数の機能自体に影響はない。 参照元 https://docs.python.org/ja/3.6/library/typing.html https://magazine.techacademy.jp/magazine/46675 https://program-shoshinsya.hatenablog.com/entry/2020/09/09/230633 ...