【问题标题】:ImproperlyConfigured at /admin/在 /admin/ 配置不当
【发布时间】:2012-10-11 05:53:32
【问题描述】:

我目前在 youtube 上的 Hacked Existence 的 2nd Django Tutorial。它帮助我学习,我想继续这样做。我知道该视频是大约一年前发布的,所以它有点过时了。所以我有一些问题。

我创建了一个名为 beers 的应用

python manage.py sqlall beer

在第 13 分钟,他编辑了 admin.py:

from django.contrib import admin
from beer.models import Beer, Brewery

class BeerAdmin(admin.ModelAdmin):
    prepopulated_fields = {'slug': ('name')}

admin.site.register(Beer, BeerAdmin)
admin.site.register(Brewery)

这个修改导致错误:

在 /admin/ 处配置不正确

'BeerAdmin.prepopulated_fields['slug']' 必须是列表或元组。

我该如何解决这个问题,以及为什么同样的代码在他的系统上运行良好。 此消息显示在

http://127.0.0.1:8000/admin/

这就引出了下一个问题,

在我的浏览器上,

HackedExistence link 打开 Apache 2 测试页面 并且 localhost 链接很好地打开了 Django 管理员页面(嗯,在上面的编辑之前它确实如此)。

但他设置了它,以便被黑的存在链接加载 Django 管理页面。

如果我的设置不会导致进一步的问题,我对我的设置没有任何问题。但我想知道使用我正在使用的版本进行这种设置需要哪些不同的步骤。

Python 2.7.3、Django 1.4.1、Apache 2.2.22 (Unix)

我正在使用 OS X 10.6.8。

【问题讨论】:

  • 谢谢大家。我为我的问题的第二部分制作了一个单独的post

标签: django python-2.7 admin


【解决方案1】:

将您的定义更改为

prepopulated_fields = {'slug': ('name',)}

注意:'name' 之后的逗号,如果没有 comm,则将其解释为字符串对象,而不是元组或列表。

【讨论】:

    【解决方案2】:

    这是一个让许多 Python 新手感到困惑的“陷阱”:在元组中,基本的句法元素是逗号。括号实际上是可选的。你可以阅读更多关于here

    【讨论】:

      猜你喜欢
      • 2016-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多