私はDjango Webアプリケーションを改良し、主にプロジェクトスクリプトを探しています。 私は何度も同じPythonコードを使用しています。私はviews.py
ファイルを単純化したいと思います。メソッドでDjangoビューを改善する
例えば、私はこの部分を数回持っている:
if request.method == 'POST':
form = FormBase(request.POST or None, request.FILES or None)
if form.is_valid() :
post = form.save()
return HttpResponseRedirect(reverse('ReverseTemplate', kwargs={'id': post.id}))
else :
form = FormBase()
form.fields['Utilisateur'].initial = request.user.last_name + " " + request.user.first_name
ので、コピーの代わりに/私の異なるビュー機能ではこの部分を過ぎ、私が設定したいと思います:
def DjangoFormID(request, FormBase, ReverseTemplate) :
if request.method == 'POST':
form = FormBase(request.POST or None, request.FILES or None)
if form.is_valid() :
post = form.save()
return HttpResponseRedirect(reverse('ReverseTemplate', kwargs={'id': post.id}))
else :
form = FormBase()
form.fields['Utilisateur'].initial = request.user.last_name + " " + request.user.first_name
そして、私の見解でこの関数を呼び出してください:
DjangoFormID(request, IndividuFormulaire, IndividuResume)
私のプロセスはうまくいきますか?それは私がやったことよりもプログラミングにとってより良い方法ですか?私は私のメソッド内で私のDjangoテンプレートを書くことができますどのようにname 'IndividuResume' is not defined
:
その後、私はこのエラーを取得していますか?
は'IndividuResume'
が文字列ではなく、変数名にする必要がありますので誤差があるように見えます
あなたは[FormViewコントロール](https://docs.djangoproject.com/en/1.11/ref/class-based-views/generic-editing/#django.views.generic.edit.FormView)を試してみたのですか? –
@BearBrown私は 'Generic editing views'を一度も使ったことがありません:/私のプロセスは偽であると思いますか?私は私の視点で何度も同じスクリプト部分を持っているので、私のスクリプトを簡素化し、関数を呼び出すことができるようにするために関数を呼びたいと思います。 – Deadpool
私は[クラスベースのビュー](https://docs.djangoproject.com/en/1.11/ref/class-based-views/)djangoプロジェクトを作成する最良の方法だと思います。 –