Django Facebook集成错误

0 投票
1 回答
635 浏览
提问于 2025-04-15 23:44

我正在尝试把Facebook整合到我的应用程序中,这样用户就可以用他们的Facebook账号登录我的网站。我已经把所有东西都设置好了,通过命令行运行我的网站时没有任何问题。

python manage.py runserver

但是,当我通过Apache来运行相同的代码时,它却不工作。

我遇到了以下错误:

Environment:

Request Method: GET
Request URL: http://helvetica/foodfolio/login
Django Version: 1.1.1
Python Version: 2.6.4
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'foodfolio.app',
 'foodfolio.facebookconnect']
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'facebook.djangofb.FacebookMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'facebookconnect.middleware.FacebookConnectMiddleware')


Template error:
In template /home/swat/website-apps/foodfolio/facebookconnect/templates/facebook/js.html, error at line 2
   Caught an exception while rendering: No module named app.models
   1 : <script type="text/javascript">
   2 :     FB_RequireFeatures(["XFBML"], function() {FB.Facebook.init("{{ facebook_api_key }}", " {% url facebook_xd_receiver %} ")});
   3 : 
   4 :     function facebookConnect(loginForm) {
   5 :         FB.Connect.requireSession();
   6 :         FB.Facebook.get_sessionState().waitUntilReady(function(){loginForm.submit();});
   7 :     }
   8 :     function pushToFacebookFeed(data){
   9 :         if(data['success']){
   10 :             var template_data = data['template_data'];
   11 :             var template_bundle_id = data['template_bundle_id'];
   12 :             feedTheFacebook(template_data,template_bundle_id,function(){});

Traceback:
File "/usr/lib/pymodules/python2.6/django/core/handlers/base.py" in get_response
  92.                 response = callback(request, *callback_args, **callback_kwargs)
File "/home/swat/website-apps/foodfolio/app/controller.py" in __showLogin__
  238.             context_instance = RequestContext(request))
File "/usr/lib/pymodules/python2.6/django/shortcuts/__init__.py" in render_to_response
  20.     return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
File "/usr/lib/pymodules/python2.6/django/template/loader.py" in render_to_string
  108.     return t.render(context_instance)
File "/usr/lib/pymodules/python2.6/django/template/__init__.py" in render
  178.         return self.nodelist.render(context)
File "/usr/lib/pymodules/python2.6/django/template/__init__.py" in render
  779.                 bits.append(self.render_node(node, context))
File "/usr/lib/pymodules/python2.6/django/template/debug.py" in render_node
  71.             result = node.render(context)
File "/usr/lib/pymodules/python2.6/django/template/__init__.py" in render
  946.                             autoescape=context.autoescape))
File "/usr/lib/pymodules/python2.6/django/template/__init__.py" in render
  779.                 bits.append(self.render_node(node, context))
File "/usr/lib/pymodules/python2.6/django/template/debug.py" in render_node
  81.             raise wrapped

Exception Type: TemplateSyntaxError at /foodfolio/login
Exception Value: Caught an exception while rendering: No module named app.models

1 个回答

0

看起来你在用 app.models,这个在开发的时候通常没问题,但到了生产环境就会出错。你可以把它改成 foodfolio.app.models,这样就应该没问题了。这个问题似乎出现在你自定义的模板标签里。

撰写回答