🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Q&A

解決済

1回答

765閲覧

django クラスでVIEWからtemplateへ値を渡したい! HttpResponseRedirect reverse redirect render redirect reverse_lazy

退会済みユーザー

退会済みユーザー

総合スコア0

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

0グッド

0クリップ

投稿2019/09/07 04:53

djangoでviewからテンプレートに移動する際に以下処理が利用可能だとわかりましたが

HttpResponseRedirect reverse redirect render redirectとreneder併用 reverse_lazy

views.py内で上記を使い「クラス」で「引数」をテンプレートに渡せる方法がわかりません ※関数のテンプレート引き渡しは理解してます具体例を記載します。

#できないこと ためしたこと やったこと

#以下クラスの中にあるdef form_validの変数「hoge」をテンプレートに渡す方法がわかりません。

上記いずれの方法を用いたreturnでもOKです。

class CreateMovie(LoginRequiredMixin, generic.CreateView): model = Movie form_class = MovieCreateForm success_url = reverse_lazy('ap:movie') def form_valid(self, form): movie = form.save() hoge = "クラスの中のdef form validでこのhoge変数をtemplateに渡したいです。"  #➡➡➡➡ この内容が!! return redirect('ap:movie')

テンプレート.htmlは以下になります。

{% extends 'ap/base.html' %} {% block main %} {% load static %} <h1>{{ hoge }}</h1>  ➡➡➡➡➡➡➡➡➡➡➡➡➡➡➡➡➡➡➡➡➡➡➡➡➡➡ 表示されません!!!!!!!!!!!! {% for message in messages %} <p> {{ message }}</p> {% endfor %} <form action="" method="POST" enctype='multipart/form-data'> {{ form.non_field_errors }} {% for field in form %} <div class="form-group"> <label for="{{ field.id_for_label }}">{{ field.label_tag }}</label> {{ field }} {{ field.errors }} </div> {% endfor %} {% csrf_token %} <button type="submit" class="btn btn-primary">アップロードする</button> </form> {% endblock %}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

FiroProchainezo

2019/09/11 04:40

Flaskは関係が無いと思いますので外していただけませんか?
guest

回答1

0

ベストアンサー

views.pyにあるhogeをrenderのパラメーターに渡さないとtemplateに反映されないはずです。

python

1return render(request,'テンプレートが入っているフォルダー名/テンプレート名.html',{'hoge':hoge})

これで表示されるはずです。
多分調べれば沢山出てくると思うので自分のも調べてみてください。

投稿2019/09/13 07:54

SEI.__name

総合スコア67

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問