7

現在、最初のプロジェクトとして、製品ベースのCMSを少し作成しています。

これが私の質問です。製品モデルにデータ(製品)を追加するにはどうすればよいですか?

urls.pyに「/admin/ products / add」を追加しましたが、そこからどこに行くのか本当にわかりません。ビューとテンプレートの両方をどのように作成しますか?私はPythonについてあまりよく知らないので、Djangoは初めてです。

この既存のdjango管理インターフェースを使用せずにこれをすべて行うにはどうすればよいですか?

4

3 に答える 3

7

URL を Django のcreate_object ジェネリック ビューに接続し、それを "model" (作成するモデル) または "form_class" (カスタマイズされたModelFormクラス) に渡します。デフォルトの動作をオーバーライドするために渡すことができる引数は他にも多数あります。

最も単純なケースのサンプル 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" を取得します。これを <form> タグで囲み、送信ボタンを追加するだけです。最も単純な作業テンプレート (デフォルトでは "my_products_app/product_form.html" に配置する必要があります):

<form action="." method="POST">
  {{ form }}
  <input type="submit" name="submit" value="add">
</form>

Product モデルには get_absolute_url メソッドが必要であることに注意してください。そうでない場合は、post_save_redirect パラメーターをビューに渡す必要があります。そうしないと、保存後にリダイレクトする場所がわかりません。

于 2008-08-31T15:59:11.473 に答える
-1

このトピックは、Djangoチュートリアルでカバーされています。

于 2008-08-31T12:31:49.790 に答える
-2

アプリケーションの「admin」部分を設定するには、Djangoチュートリアルに従ってください。これにより、データベースを変更できるようになります。

Django管理者設定

または、使用しているデータベースタイプに応じて、標準ツールを使用してデータベースに直接接続することもできます。

于 2008-08-31T12:19:14.780 に答える