错误调试
本页包含了开发Django应用过程中一些常见错误和问题的处理建议。
运行django-admin
时遇到的问题
“未找到django-admin
命令”
如果你是通过运行 python setup.py
安装的Django, django-admin </ref/django-admin>应该已经处于你的系统环境变量PATH中。如果没有,你可以在目录 ``site-packages/django/bin
,这里的目录 ``site-packages`在你的Python安装目录中。 当然你可以考虑在其他位置使用符号链接到 django-admin
, 比如 /usr/local/bin`。
如果 django-admin
报错但是django-admin.py
却可以,那说明可能你使用的Django版本和本文档的版本不一致。``django-admin``是 Django 1.7中的新命令。
macOS的权限问题
如果你正在使用 macOS,你可能看到“permission denied”提示,当你尝试运行django-admin
的时候。这是因为在像 macOS 这种类Unix系统中,一个文件在它被当作程序执行之前必须被标记为“可执行”。为了解决这个问题,打开终端并且进入 django-admin 的安装目录(使用``cd``命令),然后执行命令``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语言环境。
关联资源::文档:Django 中的 Unicode
- https://wiki.python.org/moin/UnicodeDecodeError