应用程序不会在Django管理员中显示

时间:2010-01-04 21:57:01

标签: python django django-admin pinax

我已阅读所有其他主题,但我仍然不知道为什么我的应用程序没有出现在Django管理员中。其他一切都很好。

我的应用在settings.py

我的root urls.py文件中有admin.autodiscover

from django.conf.urls.defaults import *
from django.conf import settings

from django.views.generic.simple import direct_to_template

from django.contrib import admin

admin.autodiscover()



urlpatterns = patterns('',
url(r'^$', direct_to_template, {
    "template": "homepage.html",
}, name="home"),

url(r'^admin/invite_user/$', 'signup_codes.views.admin_invite_user', name="admin_invite_user"),
url(r'^account/signup/$', "signup_codes.views.signup", name="acct_signup"),

(r'^account/', include('account.urls')),
(r'^profiles/', include('basic_profiles.urls')),
(r'^notices/', include('notification.urls')),
(r'^announcements/', include('announcements.urls')),
(r'^tagging_utils/', include('tagging_utils.urls')),
(r'^attachments/', include('attachments.urls')),
(r'^comments/', include('threadedcomments.urls')),
#
(r'^wayfinder/', include('wayfinder.urls')),
(r'^site/', include('jsite.urls')),
(r'^kiosk/', include('kiosk.urls')),
(r'^navigator/', include('navigator.urls')),
(r'^location/', include('location.urls')),
(r'^event/', include('event.urls')),
#(r'^news_reader/', include('news_reader.urls')),
#(r'^weather_reader/', include('weather_reader.urls')),

(r'^admin/(.*)', admin.site.root),
)

if settings.SERVE_MEDIA:
urlpatterns += patterns('',
    (r'^site_media/', include('staticfiles.urls')),
)

我的所有应用都有一个包含

之类的admin.py文件
from django.contrib import admin
from event.models import Event

class EventAdmin(admin.ModelAdmin):
    list_display = (
                'short_name',
                'long_name',
                'locations',
                'categories',
                'description',
                'phone',
                'email',
                'url_source',
                'url_location',
                'external_ref',
                'show_event'
            )

admin.site.register(Event, EventAdmin)

我一遍又一遍地重启了服务器; - )

我正在建立在Pinax之上,但从我的阅读中,它不应该改变任何东西。有什么可能是错的线索?

8 个答案:

答案 0 :(得分:9)

您是否在settings.py的INSTALLED_APPS部分中有自己的应用? 确保其中列出了您的应用。我的部分是

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.admin',
'django.contrib.sites',
'squick.items',
'cowsite.search',
'cowsite.posts',

例如

。我非常确定安全性,除非它们在已安装的应用程序中,否则它们不会显示在管理员中。我想我有同样的问题,我无法让管理员看到cowsite。

The Django docs说管理页面:“默认情况下,它会按字母顺序显示已在管理员应用程序中注册的INSTALLED_APPS中的所有应用程序”

答案 1 :(得分:6)

巧合的是,我今天早上遇到了同样的问题。简而言之,这对我有用(参见参考资料):

在MyApp的顶级目录(即与models.py等目录相同)中,我添加了一个python模块admin.py,其中包含:

from models import ThisModel, ThatModel
from django.contrib import admin

admin.site.register(ThisModel)
admin.site.register(ThatModel)

然后在mysite目录中我做了syncdb和runserver,而ThisModel和ThatModel都在管理界面中。

这对你有用吗?

祝福

伊万

**参考文献

(我是新成员所以我只能发布一个超链接!)

Django tutorial: Make the poll app modifiable in the admin

最近还有一个关于Pinax google小组的查询标题为“如何在Pinax项目中将我的应用添加到管理员?”

答案 2 :(得分:5)

您是以超级用户身份登录管理员吗?如果没有,则可能是权限问题。

答案 3 :(得分:0)

不确定您使用的是哪个版本的django,但当前的文档建议包括管理员网址。

 ('^admin/', include(admin.site.urls))

答案 4 :(得分:0)

对于其他人来说,我遇到了同样的问题,因为grappelli.dashboard在已安装的应用程序中,但实际上并没有安装在virtualenv中,所以要做一个pip冻结并确保所有要求都已实际安装。

答案 5 :(得分:0)

我遇到了同样的问题,对我有用的是在urls.py中改变这一行:

url(r'^admin/', include(admin.site.urls)),

url('^admin/', include(admin.site.urls)),

(删除代码第一位的 r ) 出于某种原因,我不知道,此后民意调查在管理员中可见。

答案 6 :(得分:0)

在安装的“ settings.py”文件中添加您的应用名称。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',


]

答案 7 :(得分:-1)

你没有回答安东尼的问题。您是以超级用户身份登录,还是至少与具有应用程序添加/编辑权限的用户一起登录?如果没有,你将看不到它们。