私がやろうとしているのは、機能ビュー用のDjangoボイラープレートです。ドキュメントにはテンプレートビューとリストビューの例が示されているため、ここでのヘルプは非常にありがたいですが、モデルベースのジェネリックビューについてはほとんど見つかりませんでした。ドキュメントに例がありませんか?
カレンダーのエントリを表すモデルがあります。エントリを所有する別のオブジェクト(ユーザーではない)への外部キーがあります。私がやりたいのは、エントリを作成し、エントリの外部キーが適切に設定されていることを確認してから、ユーザーを適切なカレンダーページに戻すことです。
ただし、クラスベースのジェネリックビューがURL引数を受け取る方法はわかりません。また、作成URLに最初に渡されたIDを再利用するようにsuccess_urlを設定する方法がわかりません。繰り返しになりますが、よろしくお願いします。
私が求めているのは、基本的に、次のクラスベースのジェネリックビューに相当するものです。
def create_course_entry(request, class_id):
'''Creates a general calendar entry.'''
if request.method == 'POST':
form = CourseEntryForm(request.POST)
if form.is_valid():
new_entry = form.save(commit=False)
new_entry.course = Class.objects.get(pk=class_id)
new_entry.full_clean()
new_entry.save()
return HttpResponseRedirect('/class/%s/calendar/' % class_id)
else:
form = CourseEntryForm()
return render_to_response('classes/course_entry_create.html',
{ 'class_id': class_id, 'form': form, },
context_instance=RequestContext(request))