8

我已经阅读了所有其他线程,但我仍然不明白为什么我的应用程序没有出现在 Django 管理中。其他一切正常。

我的应用程序位于 settings.py

我的根 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 之上构建,但从我的阅读来看,它不应该改变任何东西。任何线索可能有什么问题?

4

9 回答 9

10

您的应用程序是否位于 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',

)

例如。我很确定安全性,除非它们在已安装的应用程序中,否则它们不会出现在管理员中。我想我有同样的问题,我无法让牛场出现在管理员中。

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

于 2010-01-04T22:04:11.660 回答
5

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

在 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 教程:使投票应用程序在管理员中可修改

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

于 2010-01-08T11:33:01.987 回答
5

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

于 2010-01-04T21:59:40.737 回答
0

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

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

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

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

于 2013-09-11T10:56:31.160 回答
0

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

 ('^admin/', include(admin.site.urls))
于 2010-01-05T02:46:47.970 回答
0

对于其他人遇到此问题,由于 grappelli.dashboard 位于已安装的应用程序中但并未实际安装在 virtualenv 中,因此我遇到了同样的问题,因此请冻结 pip 并确保实际安装了您的所有要求。

于 2013-05-25T15:48:19.730 回答
0

如果其他解决方案不适合您,请尝试在其他浏览器中加载您的管理仪表板。当我使用 Google Chrome 时,我的一个应用程序没有显示在管理仪表板上。在尝试了其他人建议的多个答案后,我决定改用 Firefox。瞧!我终于能够在管理仪表板上看到我的应用程序。

于 2021-11-15T15:20:10.040 回答
0

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

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


]
于 2019-08-20T13:16:00.020 回答
-1

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

于 2010-01-05T09:04:47.330 回答