0

我已经从 www.allbuttonspressed.com 下载了 djangoappengine 项目示例django-guestbook以测试它是如何工作的,但是当我访问 URL localhost:8000 时显示以下错误消息

回溯(最近一次通话最后):
文件“/usr/local/google_appengine/google/appengine/tools/dev_appserver.py”,第 3245 行,在 _HandleRequest self._Dispatch(dispatcher, self.rfile, outfile, env_dict) 文件“/usr/local/google_appengine/google/ appengine/tools/dev_appserver.py",第 3186 行,在 _Dispatch base_env_dict=env_dict) 文件中 "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py",第 531 行,在 Dispatch base_env_dict=base_env_dict) 文件中"/ usr/local/google_appengine/google/appengine/tools/dev_appserver.py”,第 2410 行,在 Dispatch self._module_dict) 文件“/usr/local/google_appengine/google/appengine/tools/dev_appserver.py”,第 2299 行,在执行CGI os.environ.update(env) 文件“/usr/lib64/python2.6/os.py”,第486行,在更新 self[k] = dict[k] 文件“/usr/lib64/python2.6/os.py”,第 471 行,在setitem putenv (key, item) UnicodeEncodeError: 'ascii' codec can't encode character u'\xe1' in position 19: ordinal not in range(128)

我现在的 Django 版本是 1.3.0 alpha,但我首先使用 1.1.1 版本进行了测试,并且出现了同样的错误。命令 manage.py runserver 运行正常,我没有在项目目录中进行任何更改,我只是下载、解压缩并运行服务器。我也尝试部署项目(当然是在更改 app.yaml 文件之后),但又发生了另一个错误。

有人知道会发生什么吗?我连续 7 个小时尝试了我所知道的一切,但我还是个新手。提前致谢。

4

2 回答 2

1

那么 u'\xe1' 是带有重音符号的小写 A --> á

所以我的猜测是,也许您在配置文件中使用了此字符,或者您已将项目存储在包含该字符的目录中?然后应用程序引擎尝试在环境变量名称中使用它,并且必须是 ASCII。

于 2011-02-28T23:51:26.653 回答
0

问题正是马克所说的。您使用了一个 unicode 字符,而您应该只使用 ASCII。可能在任何配置文件或数据库数据中。检查目录结构并对您编辑的文件进行 grep 以自定义它们。连接到数据库并检查您最近为该角色添加的数据。

不知道那个应用程序是如何工作的,但可以肯定的是你已经在某处写了这个 á (假设应用程序代码没问题)

于 2011-03-01T01:26:44.117 回答