勉強し始めて1week程度です。
現在、料金プランを表示するアプリをDjangoで開発しております。
テンプレート(lesson.html)にロジックを記述しようとしましたが、計算してくれないことと、
'mathfilters'をインストールして計算を試みましたが、計算はしてくれるものの
四則演算の優先度が正しく働かなかったため、
計算用のカスタムフィルタを作成し、テンプレートに適用しようとしました。
記述が終わり、ページを読み込むと、
「is_English_lesson requires 1 arguments, 2 provided」というエラーが出ます。
1つの引数のところに2つ来ているエラーという理解はできていますが、2つ来ている原因がわかりません。
原因・正しい記述方法をご教授いただけないでしょうか?
発生している問題・エラーメッセージ
「is_English_lesson requires 1 arguments, 2 provided」が解決しない
コード
・lesson.html
{% load helper %} <!doctype html> <html lang = "ja"> <head> <meta charset="utf-8"> <title>{{title}}</title> </head> <body> <h1> {{menu}} </h1> <table border = "1", align = "left"> <tr> <th>ID</th> <th>受講者</th> <th>ジャンル</th> <th>受講日</th> <th>受講時間</th> <th>支払い金額</th> <th></th> </tr> {% for d in data %} <tr> <td>{{d.id}}</td> <td>{{d.name}}</td> <td>{{d.gerne}}</td> <td>{{d.lesson_date}}</td> <td>{{d.lesson_hour}}</td> <td> {% if d.gerne == '英語' %} {{ English_charge|is_English_lesson:'d.lesson_hour' }} {% endif %} </td> <td> <a href=""> 編集 </a> </td> </tr> {% endfor %} </table> <br clear="left"> <a href=""> 新規追加 </a> </body> </html>
・views.py
def lesson(request): lesson_data = LessonInfo.objects.all() params = { 'title': 'lesson', 'menu': 'レッスン受講記録一覧', 'data': lesson_data, } return render(request, 'online_school/lesson.html', params)
・helper.py
from django import template register = template.Library() def is_English_lesson(hours): English_basic_charge = 5000 English_commodity_charge = 3500 total_charge = English_basic_charge + English_commodity_charge * hours return total_charge register.filter('is_English_lesson',is_English_lesson)
参照ページ/試したこと
https://qiita.com/kitaro_tn/items/0543704d2c86459a1063
https://docs.djangoproject.com/ja/2.0/howto/custom-template-tags/
開発サーバー再起動
補足情報(FW/ツールのバージョンなど)
Python 3.6.6
Django 2.0.7
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。