“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>
== 运行 <code>django-admin</code> 时遇到的问题 ==
+
== 运行问题 django-admin ==
  
 
<div id="command-not-found-django-admin" class="section">
 
<div id="command-not-found-django-admin" class="section">
  
=== “未找到 django-admin 命令” ===
+
=== “找不到命令:django-admin” ===
  
[[../../ref/django-admin|<span class="doc">django-admin</span>]] should be on your system path if you
+
如果您通过 <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>
installed Django via <code>pip</code>. If it's not on your path, you can find it in
 
<code>site-packages/django/bin</code>, where <code>site-packages</code> is a directory within
 
your Python installation. Consider symlinking to [[../../ref/django-admin|<span class="doc">django-admin</span>]] from some place on your path, such as
 
<code>/usr/local/bin</code>.
 
  
如果 <code>django-admin</code> 报错但是``django-admin.py``却可以,那说明可能你使用的Django版本和本文档的版本不一致。[[#id1|<span id="id2" class="problematic">``</span>]]django-admin``是 Django 1.7中的新命令。
+
如果 <code>django-admin</code> 不起作用但 <code>django-admin.py</code> 起作用,则您使用的 Django 版本可能与本文档的版本不匹配。 <code>django-admin</code> 是 Django 1.7 中的新功能。
  
  
第28行: 第25行:
 
=== macOS 的权限问题 ===
 
=== macOS 的权限问题 ===
  
如果你正在使用 macOS,你可能看到“permission denied”提示,当你尝试运行``django-admin``的时候。这是因为在像 macOS 这种类Unix系统中,一个文件在它被当作程序执行之前必须被标记为“可执行”。为了解决这个问题,打开终端并且进入 <span class="xref std std-doc">django-admin `的安装目录(使用``cd``命令),然后执行命令``sudo chmod +x django-admin`</span>.
+
如果您使用的是 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">
  
=== 我遇到了错误信息 <code>UnicodeDecodeError</code>。 我哪里做错了? ===
+
=== 我得到一个 UnicodeDecodeError。 我究竟做错了什么? ===
  
当包含非ASCII序列的字符串被转换为Unicode字符串,并且指定的编码不正确时,会发生此类错误。 输出一般看起来像这样:
+
当包含非 ASCII 序列的字节字符串转换为 Unicode 字符串并且指定的编码不正确时,就会发生此类错误。 输出通常如下所示:
  
 
<div class="highlight-default notranslate">
 
<div class="highlight-default notranslate">
第48行: 第45行:
 
<div class="highlight">
 
<div class="highlight">
  
<pre>UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:
+
<syntaxhighlight lang="python">UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:
ordinal not in range(128)</pre>
+
ordinal not in range(128)</syntaxhighlight>
  
 
</div>
 
</div>
第56行: 第53行:
 
解决方案主要取决于上下文,但是这里有两个常见的陷阱产生这个错误:
 
解决方案主要取决于上下文,但是这里有两个常见的陷阱产生这个错误:
  
* 您的系统语言环境可能是默认的ASCII,比如类UNIX系统上的 “C” (可通过命令 <code>locale</code> 进行检查)。如果是这种情况,请参考您的系统文档以了解如何将其更改为UTF-8语言环境。
+
* 您的系统区域设置可能是默认的 ASCII 区域设置,就像 UNIX 类系统上的“C”区域设置(可以通过 <code>locale</code> 命令检查)。 如果是这种情况,请参阅您的系统文档以了解如何将其更改为 UTF-8 语言环境。
  
 
关联资源:
 
关联资源:
  
* :文档:Django 中的 Unicode&lt;/ref/unicode&gt;
+
* [[../../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 语言环境。

关联资源: