私は、ユーザーが注文できるページを作成しました。だから、formset
の1つのフィールドである「言語」を含むの説明,ノートなどのいくつかのフィールドを埋めることができます。DjangoでフォームのIDを設定する方法は?
だから私のview
で、ほとんどすべてのフィールドが含まれているjob_creation_form
、その後、Formset
がそこにあるさLanguage
の形で構成されています。
JQuery validate
プラグインを使用して、ページを更新せずにフィールドの検証をしたいと考えています。問題は、私がにform
というタグが1つあり、id
がないことです。 id
の設定方法は?ジャンゴdjango.forms.Form
で
def create_order(request):
LanguageLevelFormSet = formset_factory(LanguageLevelForm, extra=5, max_num=5)
language_level_formset = LanguageLevelFormSet(request.POST or None)
job_creation_form = JobCreationForm(request.POST or None, request.FILES or None)
context = {'job_creation_form': job_creation_form,
'formset': language_level_formset}
if request.method == 'POST':
if job_creation_form.is_valid() and language_level_formset.is_valid():
cleaned_data_job_creation_form = job_creation_form.cleaned_data
cleaned_data_language_level_formset = language_level_formset.cleaned_data
for language_level_form in [d for d in cleaned_data_language_level_formset if d]:
language = language_level_form['language']
level = language_level_form['level']
job = Job(
customer=request.user,
text_to_translate=cleaned_data_job_creation_form['text_to_translate'],
file=cleaned_data_job_creation_form['file'],
short_description=cleaned_data_job_creation_form['short_description'],
notes=cleaned_data_job_creation_form['notes'],
language_from=cleaned_data_job_creation_form['language_from'],
language_to=language,
level=level,
)
job.save()
return HttpResponseRedirect('/order-success')
else:
print job_creation_form.errors
print language_level_formset.errors
return render(request, 'auth/jobs/create-job.html', context=context)
return render(request, 'auth/jobs/create-job.html', context=context)
あなたの問題は何か分かりません。フォームが1つだけの場合、$(「フォーム」)を選択するのとは対照的に、IDが必要なのはなぜですか?また、本当に必要な場合は、テンプレートにIDを付けないでください。 – raphv