サーバーサイド
【Django】デフォルトの認証機能を網羅し、カスタムユーザーモデルとメール認証、メール検証(確認)も実装する【脱allauth】
- 作成日時:
- 最終更新日時:
- Categories: サーバーサイド
- Tags: Django カスタムユーザーモデル 認証
【Django】GitHubを使ってHerokuにデプロイをする
settings.pyの内容 一部省略している。 os モジュールを使って、環境変数を読み込みする。 import os DEBUG = False # 中略 # 静的ファイルの読み込み設定がwhitenoiseに影響が及ぶので、デバッグ時にのみ有効にしておく。 if DEBUG: STATICFILES_DIRS = [ BASE_DIR / "static" ] # 中略 if not DEBUG: #INSTALLED_APPSにcloudinaryの追加 INSTALLED_APPS.append('cloudinary') INSTALLED_APPS.append('cloudinary_storage') # ALLOWED_HOSTSにホスト名)を入力 ALLOWED_HOSTS = [ os.environ["HOST"] ] SECRET_KEY = os.environ["SECRETKEY"] # 静的ファイル配信ミドルウェア、whi ...【Django】modelformset_factoryで1回のリクエストでまとめて投稿する【フォームセット】
1回のリクエストで、決まった個数のデータをまとめて投稿したい場合、modelformset_factory が有効。 ただし、状況によってはgetlistを使う方法のほうが有効の場合もあるので、よく考える必要がある。 modelformset_factory とは 例えば、1回のリクエストで5個のコメントをまとめて投稿する必要がある場合。 このようにフォームクラスを元に、フォームセットを作る。 from django import forms from .models import Topic class TopicForm(forms.ModelForm): class Meta: model = Topic fields = [ "comment" ] from django.forms import modelformset_factory TopicFormSet = modelformset_factory(Topic, ...【Django】モデルクラスのcleanメソッドでバリデーションをする
【Django】OpenCVとyieldを使い、ウェブカメラの映像をライブ配信する【imutils.video.VideoStreamer】
Djangoで、VideoStreamerで撮影した映像をライブ配信させる。 仕組みはyieldとマルチスレッド処理を使い、サーバー起動とライブ配信処理を並行して行っている。 撮影して画像を保存しAjaxのポーリングを繰り返すより、Django側がカメラの映像を配信し続ける本記事の方法が効率が良い。 必要なライブラリ asgiref==3.8.1 Django==5.0.6 imutils==0.5.4 numpy==1.26.4 opencv-contrib-python==4.9.0.80 sqlparse==0.5.0 typing_extensions==4.12.0 views.py 配信処理のビューとカメラの起動を行っている。 動体検知処理の部分はコメント ...Django Rest FrameworkのViewの書き方【APIViewと汎用APIView、ModelViewSetの違い】
【Restful】Django+Reactビギナーが40分でCRUD掲示板アプリ(SPA)を作る方法【FetchAPI】
【Django】任意の順番で並び替えて表示させる【Sortable.js + FetchAPI 】
- 作成日時:
- 最終更新日時:
- Categories: サーバーサイド
- Tags: Django JavaScript JavaScriptライブラリ 上級者向け FetchAPI
複数のPDFファイルを1つのPDFファイルにまとめる
- 作成日時:
- 最終更新日時:
- Categories: サーバーサイド
- Tags: Python tips Pythonライブラリ 作業効率化
書類(PDF)を1つにまとめる必要が出てきたので。 複数のPDFを1つにまとめるPythonコードを作ることにした。 前提 pip install PyPDF2==3.0.1 ソースコード PyPDF2 をインストールしておく。 PyPDF2 では PdfFileMerger は削除されたため、 PdfMerger を使う。 import glob import datetime from PyPDF2 import PdfMerger now = datetime.datetime.now() now_str = now.strftime("%Y-%m-%d_%H:%M:%S") # TIPS: 既存のPDFファイル名を指定した場合、上書きではなく、追記されるので注意。 def merge_pdfs(output_filename=f"{now_str}.pdf"): # すべてのPDFファイルを取得。 # ファイル名順に並び替える。 pdfs = sorted( glob.glob(f"./*.pdf") ) #print(pdfs) if not pdfs: print(& ...