Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在App Engine/Django中导入中间件类时遇到问题_Django_Google App Engine_Facebook_Pyfacebook - Fatal编程技术网

在App Engine/Django中导入中间件类时遇到问题

在App Engine/Django中导入中间件类时遇到问题,django,google-app-engine,facebook,pyfacebook,Django,Google App Engine,Facebook,Pyfacebook,尝试让facebook connect在app engine上运行,因此我遵循以下说明: 其中一个步骤要求我添加到我的中间件类中,因此我将以下内容添加到settings.py(复制自上面演示的幻灯片18): 但是,当我在本地查看我的应用程序时(在将其添加到settings.py之前,该应用程序正在运行),我会遇到以下错误: 配置不正确:导入时出错 中间件facebook.djangfb:“没有 名为facebook.djangofb的模块” 然而,当我进入终端时,我能够运行python,并且当

尝试让facebook connect在app engine上运行,因此我遵循以下说明:

其中一个步骤要求我添加到我的中间件类中,因此我将以下内容添加到settings.py(复制自上面演示的幻灯片18):

但是,当我在本地查看我的应用程序时(在将其添加到settings.py之前,该应用程序正在运行),我会遇到以下错误:

配置不正确:导入时出错 中间件facebook.djangfb:“没有 名为facebook.djangofb的模块”

然而,当我进入终端时,我能够运行python,并且当我键入“import facebook.djangofb”时,我没有得到任何错误

仅供参考,facebook软件包位于/Library/Python/2.6/site-packages中

你知道为什么会这样吗?我已经在这上面呆了一段时间,所以任何帮助都将不胜感激


谢谢

所有模块都必须位于应用程序的文件夹层次结构下。确保还将所需路径添加到应用程序请求处理程序中的
sys.path

sys.path
应更新为以下内容:

root = os.path.split(__file__)[0]
sys.path.insert(0, os.path.join(root, 'folder1'))
sys.path.insert(0, os.path.join(root, 'folder2'))

其中
folderX
包含在
app
文件夹下。这种“路径调整”应该在应用程序中的每个“请求入口点脚本”中完成。

我相信Google App Engine使用python 2.5运行时,因此,您可以按照上面的建议将facebook目录移动到项目中,或者如果同时安装了python 2.5,则将其移动到2.5站点包中。

您是使用django internal server在本地运行应用程序还是使用Apache,等等…?我正在使用google应用程序引擎启动器运行它。你是说我应该将facebook目录从/Library/Python/2.6/site-packages移动到settings.py所在的同一目录吗?我也试过了,重新启动了我的应用程序,但仍然出现同样的错误。如果我误解了你的建议,我深表歉意。你的appengine
app
位于文件夹
f
下:所有必需的模块都必须位于
f
下。也许我仍然误解了你。我所做的是:我有一个名为MyApp的文件夹,其中包含app.yaml、index.yaml、main.py、settings.py以及一些其他目录。我已经将facebook目录移到了MyApp中,但仍然不起作用。我还尝试将其上移一个级别(因此它与MyApp位于同一目录中),但这也不起作用。您是否遵循了我关于
sys.path
的建议?是的,我在main.py和settings.py中尝试了sys.path.append('/Users/ryan/Documents/MyApp'),但这也不起作用。
root = os.path.split(__file__)[0]
sys.path.insert(0, os.path.join(root, 'folder1'))
sys.path.insert(0, os.path.join(root, 'folder2'))