本页包含一些关于Django应用程序开发过程中常遇到的错误和问题的建议。
如果您通过python setup.py安装了Django,则django-admin如果不在您的路径上,可以在site-packages/django/bin中找到它,其中site-packages是Python安装中的目录。考虑从路径上某处(例如/usr/local/bin)符合连接到django-admin。
如果django-admin不起作用,但django-admin.py可能会使用与本文档版本不匹配的Django版本。django-admin是Django 1.7中的新功能。
如果您使用的是Mac OS X,当您尝试运行django-admin时,您可能会看到“权限被拒绝”的消息。这是因为,在基于Unix的系统(如OS X)上,文件必须标记为“可执行文件”,然后才能作为程序运行。为此,打开Terminal.app并导航(使用cd命令)到安装了django-admin的目录,然后运行命令sudo chmod + x django-admin。
当包含非ASCII序列的字节变换为Unicode字符串并且指定的编码不正确时,会发生此类错误。输出一般看起来像这样:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:
ordinal not in range(128)
解决方案主要取决于上下文,但是这里有两个常见的陷阱产生这个错误:
您的系统区域设置可能是默认的ASCII区域设置,例如类UNIX系统上的“C”区域设置(可以通过locale命令检查)。如果是这种情况,请参阅系统文档以了解如何将其更改为UTF-8区域设置。
你创建了原始的bytestrings,这是很容易做到Python 2:
my_string = 'café'
使用u''前缀或更好,添加从 __ future __ import unicode_literals行,以便您的代码与不支持u''前缀的Python 3.2兼容。
相关资源:
2015年5月13日