pythonsocial、Django nonrel和GAE为文件、Python-tk而斗争
我正试图在Google app Engine上托管一个Django应用程序,所以我正在使用并遵循。现在,我要开始工作,遇到了两个问题 首先,当使用非常类似于Python social的代码时,尝试从正在运行的服务器加载url,我得到以下结果:pythonsocial、Django nonrel和GAE为文件、Python-tk而斗争,python,django,google-app-engine,python-social-auth,Python,Django,Google App Engine,Python Social Auth,我正试图在Google app Engine上托管一个Django应用程序,所以我正在使用并遵循。现在,我要开始工作,遇到了两个问题 首先,当使用非常类似于Python social的代码时,尝试从正在运行的服务器加载url,我得到以下结果: Traceback (most recent call last): File "/home/pablo/scripts/google_appengine/google/appengine/tools/dev_appserver.py", line 2
Traceback (most recent call last):
File "/home/pablo/scripts/google_appengine/google/appengine/tools/dev_appserver.py", line 2989, in _HandleRequest
self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
File "/home/pablo/scripts/google_appengine/google/appengine/tools/dev_appserver.py", line 2832, in _Dispatch
request_file = open(request_file_name, 'wb')
File "/home/pablo/scripts/google_appengine/google/appengine/dev_appserver_import_hook.py", line 605, in __init__
raise IOError('invalid mode: %s' % mode)
IOError: invalid mode: wb
在某个地方,应用程序正在尝试创建本地文件,这是应用程序引擎不允许的,但我很困惑,因为这是来自应用程序引擎的代码。有人知道这可能来自哪里吗
其次,当我尝试访问服务器上的root用户时,会出现以下错误:
... [many lines elided]
File "/home/pablo/scripts/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 692, in Decorate
return func(self, *args, **kwargs)
File "/home/pablo/scripts/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 1642, in FindAndLoadModule
description)
File "/home/pablo/scripts/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 692, in Decorate
return func(self, *args, **kwargs)
File "/home/pablo/scripts/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 1589, in LoadModuleRestricted
description)
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 42, in <module>
raise ImportError, str(msg) + ', please install the python-tk package'
ImportError: No module named _tkinter, please install the python-tk package
任何帮助都将不胜感激——我对Django和Python非常陌生,我很想从这一点出发:dGoogle App Engine上的Python表现有些不同,正如您已经意识到的本地文件。另一件需要特别处理的事情是第三方库,为了使它们可用,它们应该是
在许多情况下,即使你打算将这些库包含到你的GAE应用程序中,它们也可能使用了一些在生产中不受支持的东西,所以整个过程都无法进行 如果您是Django等的新手,只需将Django与sql结合使用即可,而不用考虑nonrel。使用gae提供的Django。
def home(request):
"""Home view, displays login mechanism"""
if request.user.is_authenticated():
return redirect('done')
return render_to_response('home.html', {
'plus_id': getattr(settings, 'SOCIAL_AUTH_GOOGLE_PLUS_KEY', None)
}, RequestContext(request))