“Django/docs/2.2.x/faq/troubleshooting”的版本间差异
来自菜鸟教程
Django/docs/2.2.x/faq/troubleshooting
(autoload) |
小 (Page commit) |
||
第1行: | 第1行: | ||
+ | {{DISPLAYTITLE:故障排除 — Django 文档}} | ||
<div id="troubleshooting" class="section"> | <div id="troubleshooting" class="section"> | ||
第8行: | 第9行: | ||
<span id="troubleshooting-django-admin"></span> | <span id="troubleshooting-django-admin"></span> | ||
− | == | + | == 运行问题 django-admin == |
<div id="command-not-found-django-admin" class="section"> | <div id="command-not-found-django-admin" class="section"> | ||
− | === | + | === “找不到命令:django-admin” === |
− | [[../../ref/django-admin| | + | 如果您通过 <code>pip</code> 安装了 Django,[[../../ref/django-admin|django-admin]] 应该在您的系统路径上。 如果它不在您的路径中,您可以在 <code>site-packages/django/bin</code> 中找到它,其中 <code>site-packages</code> 是 Python 安装中的一个目录。 考虑从路径上的某个位置符号链接到 [[../../ref/django-admin|django-admin]],例如 <code>/usr/local/bin</code>。 |
− | |||
− | <code>site-packages/django/bin</code> | ||
− | |||
− | <code>/usr/local/bin</code> | ||
− | 如果 <code>django-admin</code> | + | 如果 <code>django-admin</code> 不起作用但 <code>django-admin.py</code> 起作用,则您使用的 Django 版本可能与本文档的版本不匹配。 <code>django-admin</code> 是 Django 1.7 中的新功能。 |
第28行: | 第25行: | ||
=== macOS 的权限问题 === | === macOS 的权限问题 === | ||
− | + | 如果您使用的是 macOS,当您尝试运行 <code>django-admin</code> 时,您可能会看到消息“权限被拒绝”。 这是因为,在 macOS 等基于 Unix 的系统上,文件必须先标记为“可执行”,然后才能作为程序运行。 为此,打开 Terminal.app 并导航(使用 <code>cd</code> 命令)到安装了 [[../../ref/django-admin|django-admin]] 的目录,然后运行命令 <code>sudo chmod +x django-admin</code>。 | |
第40行: | 第37行: | ||
<div id="i-m-getting-a-unicodedecodeerror-what-am-i-doing-wrong" class="section"> | <div id="i-m-getting-a-unicodedecodeerror-what-am-i-doing-wrong" class="section"> | ||
− | === | + | === 我得到一个 UnicodeDecodeError。 我究竟做错了什么? === |
− | + | 当包含非 ASCII 序列的字节字符串转换为 Unicode 字符串并且指定的编码不正确时,就会发生此类错误。 输出通常如下所示: | |
<div class="highlight-default notranslate"> | <div class="highlight-default notranslate"> | ||
第48行: | 第45行: | ||
<div class="highlight"> | <div class="highlight"> | ||
− | < | + | <syntaxhighlight lang="python">UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?: |
− | ordinal not in range(128)</ | + | ordinal not in range(128)</syntaxhighlight> |
</div> | </div> | ||
第56行: | 第53行: | ||
解决方案主要取决于上下文,但是这里有两个常见的陷阱产生这个错误: | 解决方案主要取决于上下文,但是这里有两个常见的陷阱产生这个错误: | ||
− | * | + | * 您的系统区域设置可能是默认的 ASCII 区域设置,就像 UNIX 类系统上的“C”区域设置(可以通过 <code>locale</code> 命令检查)。 如果是这种情况,请参阅您的系统文档以了解如何将其更改为 UTF-8 语言环境。 |
关联资源: | 关联资源: | ||
− | * | + | * [[../../ref/unicode|<span class="doc">Django 中的 Unicode</span>]] |
* https://wiki.python.org/moin/UnicodeDecodeError | * https://wiki.python.org/moin/UnicodeDecodeError | ||
第69行: | 第66行: | ||
</div> | </div> | ||
+ | <div class="clearer"> | ||
− | [[Category:Django 2.2.x | + | |
+ | |||
+ | </div> | ||
+ | |||
+ | [[Category:Django 2.2.x 文档]] |
2021年10月31日 (日) 04:04的最新版本
错误调试
本页包含了开发Django应用过程中一些常见错误和问题的处理建议。
运行问题 django-admin
“找不到命令: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 语言环境。
关联资源: