【发布时间】:2015-02-18 15:32:45
【问题描述】:
我正在学习《Learning Website Development with Django》一书中的自定义 Feed 示例,并学习从旧版本到 Django 1.7 的必要更改。
我得到的提要类是:
class UserBookmarks(Feed):
def get_object(self,bits):
if len(bits) != 1:
raise ObjectDoesNotExist
return User.objects.get(username=bits[0])
def title(self,user):
return 'Django Bookmarks | Bookmarks for %s' % user.username
def link(self,user):
return '/feeds/user/%s/' % user.username
def description(self,user):
return 'Recent bookmarks posted by %s' % user.username
def items(self,user):
return user.bookmark_set.order_by('-id')[:10]
还有网址配置:
urlpatterns = patterns('',
url(r'^feeds(\w*)/$',UserBookmarks()),
)
当我刷新站点时,Django 给了我一个 TypeError: get_object() 只需要 2 个参数(给定 3 个)
我不知道问题出在哪里...请帮忙!
【问题讨论】:
-
上传调用
get_object()的代码(并得到错误) -
@DRC 的回答将解决您的直接问题,但我强烈建议您使用不同的书来学习 Django。 'Learning Website Development with Django' 是从 2008 年开始的。从那时起,Django 发生了很多变化。例如,在此处导致您出现问题的联合提要框架的更改来自 2010 年的 Django 1.2。
-
谢谢Alasdiar,有什么好书可以推荐吗?
-
@browser 自从我学习 Django 已经有几年了,所以我真的没有任何当前的建议。如果您还没有完成,官方教程是最好的起点。 Two Scoops 是一本很好的中级书。 Tango with Django 好像挺火的,不过没看过。祝你好运!