Django by Steven Holzner - 这是我的版本/设置问题还是书中的错误?

时间:2014-04-30 19:35:41

标签: django

有没有人使用过Steven Holzner这本书的经验?我在图书馆里把它拿起来,虽然最初对它的简单性印象深刻,但我发现它有一些问题。我对Django或Python的经验不足以了解它们是否与我的版本/设置或错误有关,是否有人可以提供这些问题的原因,或者它们只是书中的错误?

我将在第2章中给出两个例子,这些例子推迟了我完成练习。

示例1 - 第29页 - 清单2.4

在书中,它建议应根据以下内容修改settings.py文件的Installed Apps部分。 在终端。

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'chapter2.first'
)

在我的情况下,上述情况不会起作用,但打击会发生。

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'first'
)

在这种情况下,错误不允许我使用命令python manage.py syncdbpython manage.py runserver并返回错误

ImportError: No module named first

示例2 - 第31页 - 清单2.9

在urls.py文件中,本书指示用户使用以下代码行

from django.conf.urls.defaults import *

在我的情况下,上面没有工作,但下面会

from django.conf.urls import *

在这种情况下,服务器会运行但是Django错误页面将返回给用户并显示错误

ImportError at /
No module named defaults

我知道Python 2.x和3之间存在一些差异,但本书明确地说明了这一点

  

" Django使用Python 2.3到2.6但尚未使用实验   Python版本3,因此我们将为本书安装2.6版本。

我的设置

Mac OSX 10.9.2 Django 1.6.4 Python 2.7.5

问题重复:有谁能告诉我这两个例子可能导致这些问题的原因,还是只是书中的错误?

1 个答案:

答案 0 :(得分:2)

看起来它是一本过时的书。 Django 1.6中已弃用django.conf.urls.defaults(请参阅here),因此不再使用。

关于这本书本身,我并不熟悉它,但Amazon reviews似乎并不太积极。此外,在import *中使用通配符导入(即urls.py在Python中是非常基本的禁忌。请参阅导入here上的pep8。这本身会让我对这本书保持警惕。 / p>

我建议使用官方Django教程(开始here)来获得一些背景知识,以及其他一些基本指南(Tango with Django是另一个最喜欢的)。然后,一旦你的脚湿了,得到Two Scoops of Django,这几乎是Django最佳实践的首选指南。