错误调试¶
本页包含了开发Django应用过程中一些常见错误和问题的处理建议。
运行 django-admin
时遇到的问题¶
命令无法找到 : django-admin
¶
如果你是通过运行 pip
安装的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字符串,并且指定的编码不正确时,会发生此类错误。 输出一般看起来像这样:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:
ordinal not in range(128)
解决方案主要取决于上下文,但是这里有两个常见的陷阱产生这个错误:
- 您的系统语言环境可能是默认的ASCII,比如类UNIX系统上的 “C” (可通过命令
locale
进行检查)。如果是这种情况,请参考您的系统文档以了解如何将其更改为UTF-8语言环境。
关联资源:
- :文档:Django 中的 Unicode</ref/unicode>
- https://wiki.python.org/moin/UnicodeDecodeError