フォームがデータベースに正常に保存された場合は、情報を含むメッセージを表示する必要があります。私のウェブサイトには多くの異なるフォームがあるので、saveメソッドが呼び出されるたびにカスタムsaveメソッドと変数を渡して表示する必要があります。変数をsaveメソッドからDjangoに渡すには?
保存時にグローバル変数を作成するためにグローバルを使用しようとしましたが、その変数を表示してテンプレートに渡しました。
def save(self, *args, **kwargs):
global some_var
some_var = True
super(ModelName, self).save()
しかし、私はモデルを保存した後にsome_varを表示することはできません。変数をグローバルにするのはベストプラクティスではありませんが、それ以上のことは何も分かりません。
UPDATE:
views.py
from .forms import modForm
def func(request, passed_id):
mod_obj = ModelName.objects.get(pk=passed_id)
if request.method == 'POST':
mod_form = modForm(request.POST, instance = mod_obj)
mod_form.save()
return render(request, 'template.html')
私は、フォームを保存したときのテンプレートに変数を渡す必要があります。しかし、私はビューでこれを書いている多くのフォームがDRYではないので。その理由は私はカスタムsave()でそれをやりたかったのです
ビューコードを追加できますか? –
「ベストプラクティス」ではないだけでなく、Djangoのような環境では危険です。 **それをしません**。しかし、私たちが正しく答えるために実際にやっていることについてもっと多くの情報を表示する必要があります。 –
私は、10のフォームビューと、すべてのisnt DRYにコードを追加するようなものがあります。 – amonowy