Django在旧的示例代码和新版本之间发生冲突

时间:2014-01-21 15:01:38

标签: django

我在这里的第一篇文章。我在过去一周开始学习Django。我有其他语言的经验,但对python也很新。

我一直在阅读这本书:http://withdjango.com到目前为止它已经非常棒了,但是如果我能正确地说出Django的版本是1.0那就写的。但是我使用的是Django 1.6。

我已经设法弄清楚了这两者之间的一些小差异,但我仍然坚持这一点。

我试图跟随'pastebin'练习(所有源代码都在这里http://withdjango.com.s3.amazonaws.com/src/pastebin.zip

我注意到的一件事是他们使用过:

from django.views.generic.list_detail import object_list, object_detail
from django.views.generic.create_update import create_object

如1.6中那样,如果我是正确的,那应该是

from django.views.generic.list import ListView
from django.views.generic.detail import DetailView
from django.views.generic.edit import CreateView

然而,当我启动我编写的这组代码时。我收到以下错误:

> TypeError at /
> __init__() takes exactly 1 argument (4 given) Request Method:   GET Request URL:    http://[REMOVED FOR SECURITY] Django
> Version:    1.6.1 Exception Type:   TypeError Exception Value:  
> __init__() takes exactly 1 argument (4 given) Exception Location:   /usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py
> in get_response, line 114 Python Executable:    /usr/bin/python Python
> Version:    2.7.3 Python Path:   ['/home/phil/pastebin', 
> '/usr/lib/python2.7',  '/usr/lib/python2.7/plat-linux2', 
> '/usr/lib/python2.7/lib-tk',  '/usr/lib/python2.7/lib-old', 
> '/usr/lib/python2.7/lib-dynload', 
> '/usr/local/lib/python2.7/dist-packages', 
> '/usr/lib/python2.7/dist-packages',  '/usr/lib/pymodules/python2.7']
> Server time:    Tue, 21 Jan 2014 03:25:26 +0000

有没有人有任何想法?我还要提一下,我已尝试使用在线提供的确切源代码,只更改了我提到的那些更改。

很抱歉,如果这很明显,但我对这一切都是全新的。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

Django 1.0和最新的稳定1.6有很大差异。我建议通过更新的书来学习。特别是Django的own tutorialTwo Scoops of Django有很好的材料(后一本书将在不久的将来更新为1.6)。