故障排除 — Django 文档

来自菜鸟教程
Django/docs/3.0.x/faq/troubleshooting
跳转至:导航、​搜索

故障排除

本页面包含一些关于 Django 应用程序开发过程中常见错误和问题的建议。

运行问题 django-admin

command not found: django-admin

如果您通过 pip 安装了 Django,django-admin 应该在您的系统路径上。 如果它不在您的路径中,您可以在 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,当您尝试运行 django-admin 时,您可能会看到消息“权限被拒绝”。 这是因为,在 macOS 等基于 Unix 的系统上,文件必须先标记为“可执行”,然后才能作为程序运行。 为此,打开 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 语言环境。

相关资源: