tips
【Django】OneToOneFieldでつながっているデータの取得方法【モデル名を小文字にした属性名で取得できる】
OneToOneFieldを使う機会は限定されているので、備忘録として。 タイトルから既に(?)な状態かも知れないが、まずは、下記モデルを見てもらいたい。 # 店舗データテーブル class StoreData(models.Model): class Meta: constraints = [ models.UniqueConstraint(fields=["store","date"], name="unique_store_date"), ] store = models.ForeignKey(Store,verbose_name="店舗",on_delete=models.CASCADE) date = models.DateField(verbos ...mogrifyコマンドを使って画像を一括クロップ(トリミング)する
【Django】テンプレートで数値を使用したforループを実行する方法【レビューの星のアイコン表示などに有効】
Laravelで.env(環境変数)に指定した値をチェックする方法【コントローラ・ビュー】
Laravel 8.x系のroute/web.phpはこう書く【Target class [Controller Name] does not exist.】
Laravel7.x系はサポートが切れているので早めにLaravel8.x系にしたいところ。 ルーティングの記法が変わっているので確認しましょう。 –resourceの場合 こうする。 #7.x系以前の書き方。 #Route::resource('/topics', 'TopicsController'); #8.x系以降の書き方。 use App\Http\Controllers\TopicsController; Route::resource('/topics', TopicsController::class); 冒頭で予めコントローラをuseしておく。 コントローラのアクションと逆引き用の名前を指定する場合。 こうする。 #7.x系以前の書き方。 #Route::get('/topics', 'TopicsController@index')->name('topics.index'); #8.x系以降の ...Laravel8.xでページネーターのSVGの矢印がおかしいので修正する。
問題だらけのLaravel8.xでまた問題が出てきた。ページネーションを普通に使うと、このようにSVGが狂っており、巨大化する。 修正 app/Providers/AppServiceProvider.phpにて下記のようにする。 <?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use Illuminate\Pagination\Paginator; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ public function boot() { Paginator::useBootstrap(); } } これでLaravel7.x以前のBootstrapを使った普通のページネーション ...【DRF】Django Rest Frameworkでリスト型のバリデーションも行う【UUIDや文字列を格納したリスト型のバリデーションに】
例えば、Ajaxを使用して複数選択削除を行いたい場合、idもしくはuuidのリスト型をサーバーサイドに送信することになるだろう。 そういう時、DjangoRESTFramework(以下DRF)のシリアライザを使用すると良いだろう。 UUIDを含むリスト型をバリデーションする #複数選択削除で利用 class UUIDListSerializer(serializers.Serializer): id_list = serializers.ListField( child=serializers.UUIDField() ) これで実現できる。 DjangoのFormクラスで実現させる場合。 リスト型で送られてくるデータの ...【Django】Modelクラス、Formクラス、もしくはSerializerクラスのsaveメソッドで保存した後、保存したモデルオブジェクトのIDを手に入れる方法【データ保存した後、関連するデータも追加したい場合】
【Django】requestオブジェクトからクライアントのUAやIPアドレス、CSRFCookieなどをチェック、テンプレート上に表示する。