错误调试

本页包含了开发Django应用过程中一些常见错误和问题的处理建议。

运行django-admin时遇到的问题

“未找到django-admin命令”

如果你是通过运行 python setup.py 安装的Django, django-admin </ref/django-admin>应该已经处于你的系统环境变量PATH中。如果没有,你可以在目录 ``site-packages/django/bin,这里的目录 ``site-packages`在你的Python安装目录中。 当然你可以考虑在其他位置使用符号链接到 django-admin , 比如 :file:/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字符串,并且指定的编码不正确时,会发生此类错误。 输出一般看起来像这样:

  1. UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:
  2. ordinal not in range(128)

解决方案主要取决于上下文,但是这里有两个常见的陷阱产生这个错误:

  • 您的系统语言环境可能是默认的ASCII,比如类UNIX系统上的 “C” (可通过命令 locale 进行检查)。如果是这种情况,请参考您的系统文档以了解如何将其更改为UTF-8语言环境。
    关联资源:

  • :文档:Django 中的 Unicode

  • https://wiki.python.org/moin/UnicodeDecodeError