1

私はhttp://lightbird.net/dbe/todo_list.htmlでDjangoチュートリアルを行っています。Djangoの公式チュートリアルを完了しました。同期しようとしたとき

from django.db import models
from django.contrib import admin

class Item(models.Model):
    name = models.CharField(max_length=60)
    created = models.DateTimeField(auto_now_add=True)
    priority = models.IntegerField(default=0)
    difficult = models.IntegerField(default=0)

class ItemAdmin(admin.ModelAdmin):
    list_display = ["name", "priority", "difficult", "created", "done"]
    search_fields = ["name"]

admin.site.register(Item, ItemAdmin)

ターミナルは、管理者が定義されていないというエラーで戻ってきました。私は何が間違っているのですか?管理者を定義するにはどうすればよいですか?

更新:モデルファイル全体を今のように追加しました

4

1 に答える 1

0

Django のドキュメントには、管理サイトをアクティブ化するために実行する必要がある複数の手順がリストされています。

  1. 'django.contrib.admin' を INSTALLED_APPS 設定に追加します

  2. 管理者には、django.contrib.auth、django.contrib.contenttypes、django.contrib.messages、django.contrib.sessions の4 つの依存関係があります。これらのアプリケーションが INSTALLED_APPS リストにない場合は、追加します。

  3. django.contrib.messages.context_processors.messages を TEMPLATE_CONTEXT_PROCESSORS に、MessageMiddleware を MIDDLEWARE_CLASSES に追加します。(これらは両方ともデフォルトでアクティブになっているため、手動で設定を調整した場合にのみこれを行う必要があります。)

  4. アプリケーションのどのモデルを管理インターフェースで編集可能にするかを決定します。

  5. これらのモデルごとに、必要に応じて、その特定のモデル用にカスタマイズされた管理機能とオプションをカプセル化する ModelAdmin クラスを作成します。

  6. AdminSite をインスタンス化し、各モデルと ModelAdmin クラスについて伝えます。

  7. AdminSite インスタンスを URLconf にフックします。Django の管理サイトを有効にするために必要ないくつかのことをリストします。

最初の 2 つの項目を実行していない場合syncdb、管理アプリ自体が見つからないため、問題が発生する可能性があります。

于 2012-09-28T16:33:29.670 に答える