前提・実現したいこと
django、python3でWEBシステムを作成しています。
テンプレートでカスタムタグを使用したいのですが、引数として渡している値を使えずにエラーが出てしまいます。
渡している値をフィルタで表示させると、しっかり表示され、カスタムタグの中でダイレクトで必要な値を渡すとしっかり動作しますが、return renderで渡した値は利用できません。
解決策について、ご教授いただけないでしょうか?
発生している問題・エラーメッセージ
下記コードの
<p>{%sum number %}</P> の場所で発生 ``` KeyError at /sample/ '' ```該当のソースコード
custom_tags.py
python
1@register.simple_tag 2def sum(num): 3 total = num + 10 4 return total
sample.html
html
1{% load custom_tags %} 2 3<p>{{ number }}</P> #パターン①: 5と表示される 4<p>{%sum 5 %}</P> # パターン②: 15と表示される 5<p>{%sum number %}</P> # パターン③:エラー
views.py
python
1class SampleView(generic.FormView): 2 template_name = 'sample.html' 3 form_class = SampleForm 4 5 def form_valid(self, form): 6 number = form.send_email() 7 return render(self.request, 'sample.html', {'number': number}) 8
試したこと
- sample.htmlの3つのパターン
- views.pyのcontextから渡した値であれば、<p>{%sum number %}</P>でも表示される。
補足情報(FW/ツールのバージョンなど)
●開発環境
Python: 3.7.5
Django: 2.2.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/01 01:53