URLをDjango create_object generic viewに接続し、 "model"(作成するモデル)または "form_class"(カスタマイズしたModelFormクラス)のいずれかに渡します。多くの場合、other argumentsがあり、デフォルト動作を上書きすることもできます。最も単純なケースのための
サンプルのURLconf:
from django.conf.urls.defaults import *
from django.views.generic.create_update import create_object
from my_products_app.models import Product
urlpatterns = patterns('',
url(r'^admin/products/add/$', create_object, {'model': Product}))
あなたのテンプレートはあなただけ< form>タグでラップし、送信ボタンを追加する必要があるコンテキスト変数「フォーム」を、取得します。最も簡単な作業テンプレート(デフォルトでは「my_products_app/product_form.html」に行く必要があります):あなたの製品モデルははget_absolute_urlメソッドを持っている必要があります、または他のビューにpost_save_redirectパラメータを渡す必要があることを
<form action="." method="POST">
{{ form }}
<input type="submit" name="submit" value="add">
</form>
注意。そうしないと、保存後にリダイレクト先を知ることができません。
あなたの質問のタイトルは少し誤解を招くかもしれません。モデルクラスの代わりにモデルが一般的に使用されます。私は、「ビューを使って新しいモデルインスタンスを作成するにはどうすればいいですか」というタイトルが優れていると思います。 – muhuk