2009-12-03 20 views

答えて

39

:あなたはまだ行っていない場合

# settings.py 
INSTALLED_APPS = (
    # other apps ... 
    'app', 
) 

同期そのモデルのためのプロジェクト:

# app/admin.py 
class YourModelAdmin(admin.ModelAdmin): 
    pass 

admin.site.register(YourModel, YourModelAdmin) 

アプリがあなたのプロジェクトsettings.pyであることを確認します

python manage.py syncdb 

サーバーを再起動します。CTRL-C

python manage.py runserver 
+0

+1が原因と考えられます。 –

+1

それは良いサマリーです!それは、管理者に表示されないモデルで問題の90%を解決します! +1 – Laurent

+0

ポート80でライブサーバを使ってテストしていたので、 'sudo service apache2 restart'コマンドを入力して、最近追加したモデルを更新したので、' python manage.py runserver'が動作しませんでした管理者のウェブサイトに送信します。 –

1

インストールしたアプリにアプリケーションを追加しましたか?それは私に1回と2回起こった。 :)それ以外の場合は、私たちがあなたに役立つコードを見ておくと便利です。

+0

この1,000倍!!!!私はちょうど2時間かけて私の髪を裂いて、3つのほとんど同じアプリを見て、そのうちの1つは現れていて、2つはなかった。重複した登録や無効な登録が投げられてエラーが発生したため、Adminのサイトに登録されていることが分かりました。 SO上で引用されたすべての「初心者」のミスは問題ではありませんでした。それから、このスレッドに深く埋もれていたのはあなたのコメントと私のための顔面でした。本当にありがとう!! – jlovison

7

疑問がある場合は、サーバー、syncdb、サーバーをシャットダウンします。あなたの管理者を追加し、登録した後

+0

このコメントの明確な+1。私は開発サーバーがadmin.pyファイルの変更を受け入れると思っていました.100%を保証することはできませんでした。 サーバーを再起動すると、(正の方法で)世界の違いが生じました。 – tonemcd

+1

変更は可能ですが、開発サーバーは新しいファイルを取得しません。 – Kugel

+0

私はいつも自分のsettings.pyファイルを開いている傾向があり、サーバを再起動するための迅速なハックは設定ファイルを変更することです。これにより、Devサーバは新しい変更を取得します。 –

1

また、admin.pyなどに構文エラーがないことを確認してください。それは、AdminSiteに登録されていないアプリケーションを引き起こす可能性があります。

2

Thierryの回答のチェックリストはほぼ確定していると思いますが、にはadmin.autodiscover()が含まれており、INSTALLED_APPS admin.pyモジュールが読み込まれていることを確認してください。

# urls.py 
from django.conf.urls.defaults import * 
from django.contrib import admin 

admin.autodiscover() 

urlpatterns = patterns('', 
    ('^admin/', include(admin.site.urls)), 
) 

さらに詳しい情報はdjango docsにあります。

+3

Django 1.7以降、 'admin.autodiscover()'は不要になりました(https://docs.djangoproject.com/en/1.7/ref/contrib/admin/#discovery-of-admin-files) – Alasdair

4

私は、admin.pyを変更した後に時々dev-severが再起動されないという経験があります。その場合はtouch settings.pyが役立ちます。 urls.pyのいくつかの行に、より詳細な状況で

admin.autodiscover() 

urlpatterns = patterns('', 
    ('^admin/', include(admin.site.urls)), 
) 
+1

+1良い小さなトリック –

0

コメントアウトは、管理パネルにログインしているユーザーは、このようなモデルを管理する権限を持っているかどうかを確認することもお勧めします。彼らがそうした場合、コードを変更してrootとして機能にアクセスすることができます。

13

のためのドキュメントを参照してください

+1

どのようにそれをチェックしますか?特定のモデルに対するユーザー権利をどのように認めるのですか? – emisilva

関連する問題