staticの静的ファイルをS3に画像をアップロードdev環境だとstaticに画像を置けば良かったが、prd環境だと画像保存がcollectstaticで上手くいかないのでS3を使いたい。fileを読み込まなくなる。ファイルがないとエラーになるので注意。コーディングする前に、まず画面設計から作ります。file.type.match(‘image.*’)とする。typeは’image/jpeg’となる。#aaa');return;}良い感じ。radioのvalueはlangの値を入れます。request.FILES[‘*’]で受け取る。ページ内検索できるようにする。date;}});html側で「終了」が「開始」より前で指定できないようバリデーションがかかります。それぞれレコードを取得します。ForeginKeyのクエリを検索する場合は、${model}__${column}で検索する。ここでは、顧客の会社名一部一致の検索のため、client__name__containsとしている。params)これで1ページ目は上手くいってるんだけど、2ページ目はpostではなくgetになってしまうから、上手くいかんな。したらいいんだろうか。View[Django3.0]金額を3桁のカンマ区切りで表示させたいカンマ区切りを追加するには、「humanize」を利用します。viewtemplate側では、humanizeを読み込んで、intcommaを追記します。次はeditとdeleteを実装していきます。因みに、今日は竹芝ポートシティのタリーズに来てます。ページで、sales_estimatesテーブルに入っている各見積りデータを表示させたい。%}Djangoの場合、エラー時に参考にする記事の英語の割合が増えるので、やってて面白い。次は、見積金額を表示させる際に、3桁以上の場合はカンマをつけたいですね。見積登録ページを作成するため、hasManyのモデルをmigrationした後にModelFormを作っていきます。ModelのhasManyを設定しています。'remark']続いて、views.pyでestimate_input関数を書いていきます。viewはwidget_tweaksを使っています。するだけでselect文を作ってくれます。見積の合計金額は、vue.jsでcomputedします。結合テスト修正しまくって、上手く動くようになるまで数日かかりました。mysql側も確認し、ちゃんと入っています。client_idには親テーブルのidが入っています。sec)これ実装するのにすごい時間かかったけど、ここまで来たら、大分山を超えた感があります。後は基本的なところはauthとメールなど細かな機能でしょう。デバッグする際に、form.errors.itemsで画面にエラーメッセージを表示させてからスピードが上がりました。redirect('/client/1')次は検索フィルターの実装です。顧客IDをurlのパスに設定して、顧客詳細ページや顧客編集ページを表示させたい。省略idを引数に上手く表示されています。exist.”と表示されてしまう。except以下のように書けば、レコードがない場合、一覧ページに表示されます。params)クライアント一覧ページのリンクを以下のように修正して結合テストを行えばOK。onclick="location.href='/client/detail/{{item.id}}'">詳細</button>ページング以外でGetパラメータを使用するのは抵抗がありますね。View[Django3.0]viewのループ処理でremodalにidを渡して各レコードを削除したい得意先リスト一覧ページで、各クライアントの行で削除ボタンを押下した時に、操作ミスによる削除を防ぐため、直ぐに削除するのではなく、remodalで一度確認画面をかまして削除するようにしたい。id);でformのhiddenのinputにセットすると上手くいきます。idをセットする場所をinputではなくactionのリンク先につけてgetでidを取得しても良いでしょう。laravelで同じような仕組みを作っていたので、githubでソースコードを確認して実装しました。ここはDjangoってよりもループ処理の時のremodalとJavaScriptの実装の仕方ですね。表示を変更するには、view側で以下のように書けば良い。取得して表示する方法はわかった。WordPressPosting....。