前提・実現したいこと
作成したフォーム画面からの入力情報をターミナルに表示できるようにしたいです。
発生している問題・エラーメッセージ
作成したフォームから適当に情報を入力して返信しようとするとターミナルに以下のようなエラー画面が出てきます。
TypeError: 'dict' object is not callable
views.py
python
1from django.shortcuts import redirect 2from django.template.loader import render_to_string 3from django.urls import reverse_lazy 4from django.views import generic 5from django.core.mail import send_mail 6from .forms import ContactForm 7 8 9# Create your views here. 10class Top(generic.FormView): 11 form_class = ContactForm 12 success_url = reverse_lazy("contact:thanks") 13 template_name = "contact/top.html" 14 15 def form_valid(self, form): 16 subject = "お問合せがありました" 17 message = render_to_string("contact/mail.txt", form.cleaned_data,self.request) 18 19 name = form.cleaned_data.get("name") 20 email = form.cleaned_data.get("email") 21 text = form.cleaned_data.get("text") 22 category = form.cleaned_data("category") 23 return redirect("contact:thanks") 24 25class Thanks(generic.TemplateView): 26 template_name = "contact/thanks.html"
###forms.py
python
1from django import forms 2 3class ContactForm(forms.Form): 4 CATEGORIES = ( 5 ("1", "お仕事の依頼"), 6 ("2", "サイト内容に関するお問合せ"), 7 ) 8 9 name = forms.CharField( 10 label="お名前", max_length=50, 11 required=False, help_text="*任意" 12 ) 13 email = forms.EmailField( 14 label="メールアドレス", required=False, help_text="*任意" 15 ) 16 text = forms.CharField(label="お問合せ内容", widget=forms.Textarea) 17 category = forms.ChoiceField(label="カテゴリ", choices=CATEGORIES)
###mail.txt
python
1{% if name %}{{ name }}さんから{% else %}匿名{% endif %} 2 3{% if category == "1" %}仕事{% elif category == "2" %}サイト内容のお問合せ{% endif %} 4 5{{ text }} 6 7{{ email }}
試したこと
調べて見たら[]を使うところを()を使ったことが原因で起こるエラーみたいなのですが、特にそういう部分は見当たりませんでした。
またpycharmを使っているのですがviews.pyの5行目のimportに対してUnused import statement 'from django.core.mail import send_mail'と警告が出ています。
form_valid関数の変数に対しは、ローカル変数〜の値は使用されていません。と警告文が出ています。
おそらくこれらが原因だとは思うのですが、どうしていいか分からず質問させて頂きました。
補足情報(FW/ツールのバージョンなど)
python 3.8.2
django 3.1.6
macos
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/14 12:25 編集