故障排除¶
本页包含一些关于Django应用程序开发过程中常遇到的错误和问题的建议。
运行 django-admin
的问题¶
“command not found:django-admin ”¶
如果您通过 python setup.py
安装了Django,django-admin 应该在您的系统路径上。如果它不在你的路径,你可以找到它在 site-packages/django/bin
,其中 site-packages
是一个目录在你的Python安装。考虑从你路径上的某个地方(例如 /usr/local/bin
)对 django-admin 进行符号链接。
如果 django-admin
不工作,但 django-admin.py
,则可能使用的Django版本与本文档的版本不匹配。 django-admin
是Django 1.7中的新功能。
Mac OS X权限¶
如果您使用Mac OS X,当您尝试运行 django-admin
时,您可能会看到消息“权限被拒绝”。这是因为在基于Unix的系统(如OS X)上,文件必须标记为“可执行文件”,然后才能作为程序运行。为此,打开Terminal.app并导航(使用 cd
命令)到安装 django-admin 的目录,然后运行命令 sudo chmod +x django-admin
。
杂¶
我得到一个 UnicodeDecodeError
。我究竟做错了什么?¶
当包含非ASCII序列的字节变换为Unicode字符串并且指定的编码不正确时,会发生此类错误。输出一般看起来像这样:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:
ordinal not in range(128)
解决方案主要取决于上下文,但是这里有两个常见的陷阱产生这个错误:
您的系统区域设置可能是默认的ASCII区域设置,例如类UNIX系统上的“C”区域设置(可以通过
locale
命令检查)。如果是这样,请参阅系统文档以了解如何将其更改为UTF-8区域设置。你创建了原始的bytestrings,这是很容易做的Python 2:
my_string = 'café'
使用
u''
前缀或更好,添加from __future__ import unicode_literals
行在文件的顶部,以便您的代码将兼容Python 3.2不支持u''
前缀。
相关资源: