gpt4 book ai didi

python - Django admin.site.register 不添加我的应用程序管理员

转载 作者:太空狗 更新时间:2023-10-29 21:21:16 24 4
gpt4 key购买 nike

作为一个 django 新手(我对其他 python webframework 有一些经验,比如 turbogears 和 bottle 但正在探索 django)我正在尝试为我的应用程序模型自动创建管理

在主 URLS.py 中我有:

编辑:

from django.contrib import admin
admin.autodiscover()

之后:

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

注意这是在主 urls.py 中而不是在应用程序 urls.py 中

按照教程(在教程中对我有用..)我在 appname 文件夹中创建了一个“admin.py”文件:

from appname.models import Appname
from django.contrib import admin


class appnameAdmin(admin.ModelAdmin):
fieldsets = [various field sets and fields etc ]

admin.site.register(Appname,AppnameAdmin)

并且在 setting.py 中我没有注释

'django.contrib.admin'

我在命令行窗口中没有收到任何错误,并且确实出现了基本的管理屏幕(身份验证和站点)

我在 manage.py shell 中检查了 admin.py 中的导入,一切似乎都正常,我还尝试注释掉 AppnameAdmin 类并注册字符串:

admin.site.register(Appname) 

但是还是不行

我猜我遗漏了一些明显的东西 - 我很乐意提供帮助

使用 django 1.4 + python 2.72

最佳答案

检查所有 these :

There are seven steps in activating the Django admin site:

  1. Add 'django.contrib.admin' to your INSTALLED_APPS setting.
  2. The admin has four dependencies - django.contrib.auth, django.contrib.contenttypes, django.contrib.messages and django.contrib.sessions. If these applications are not in your INSTALLED_APPS list, add them.
  3. Add django.contrib.messages.context_processors.messages to TEMPLATE_CONTEXT_PROCESSORS and MessageMiddleware to MIDDLEWARE_CLASSES. (These are both active by default, so you only need to do this if you’ve manually tweaked the settings.)
  4. Determine which of your application’s models should be editable in the admin interface.
  5. For each of those models, optionally create a ModelAdmin class that encapsulates the customized admin functionality and options for that particular model.
  6. Instantiate an AdminSite and tell it about each of your models and ModelAdmin classes.
  7. Hook the AdminSite instance into your URLconf.
  • 您安装的应用程序中是否有所有其他管理依赖项?
  • 你的 URLS.py 中有 admin.autodiscover() 吗?

此外,我认为您的代码应该看起来更像这样:

from projectname.appname.models import Appname
from django.contrib import admin


class AppnameAdmin(admin.ModelAdmin):
fieldsets = [various field sets and fields etc ]

admin.site.register(Appname,AppnameAdmin)

关于python - Django admin.site.register 不添加我的应用程序管理员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10769987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com