我目前正在使用youtube上的Hacked Existence进行第二次Django教程。它帮助我学习,我想继续这样做。我知道该视频大约一年前发布,所以它有点过时了。所以我有一些问题。
我创建了一个名为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。
答案 0 :(得分:2)
将您的定义更改为
prepopulated_fields = {'slug': ('name',)}
注意:'name'
之后的逗号,没有将comm解释为字符串对象而不是元组或列表。
答案 1 :(得分:0)
这是一个"陷阱"绊倒许多Python新手:在一个元组中,基本的语法元素是逗号。括号实际上是可选的。您可以阅读有关here
的更多信息