我在安装django-socialregistration应用时遇到问题!
我是一名Django初学者,正在尝试让django-registration正常工作,但遇到了一些问题。我按照他们网站上的安装说明进行了操作,但对我来说,这些说明并不是特别清楚。我做了以下几步:
- 我使用pip安装了oauth2和python-openid这两个包。然后,我把facebook-python-sdk包中的facebook.py文件复制到了我的主Django应用目录里。(写到这里,我在想这个文件是不是应该复制到socialregistration应用目录里?这样做有区别吗?)
- 我把socialregistration目录复制到了我的Django项目目录中。
- 我在INSTALLED_APPS设置中添加了socialregistration。
- 为了把socialregistration.urls添加到我的urls.py文件中,我加了以下这一行(不太确定这样做是否正确,因为说明里没有详细说明):
(r'^social/', include('socialregistration.urls')), - 我把facebook的API密钥和秘密密钥添加到了我的设置中。
- 我把socialregistration.auth.FacebookAuth添加到了AUTHENTICATION_BACKENDS中。
- 我把socialregistration.middleware.FacebookMiddleware添加到了MIDDLEWARE_CLASSES中。
- 最后,我把说明中给的三个facebook标签添加到了我的一个模板里。
- 当我加载我的网站时,出现了以下错误:
在渲染时捕获到AttributeError:请将django.core.context_processors.request
上下文处理器添加到你的settings.TEMPLATE_CONTEXT_PROCESSORS设置中。
那么,我该怎么办呢?我以为安装会很简单,但显然并不是这样。任何帮助都将不胜感激!
哦,对了,我使用的是Django 1.2.1和Python 2.6。
谢谢!
2 个回答
3
请在你的设置中添加
django.core.context_processors.request
这个上下文处理器。
你做了吗?
你需要修改一下 TEMPLATE_CONTEXT_PROCESSORS
,把 django.core.context_processors.request
加进去。
3
我找到了问题。当我的视图渲染模板时,需要把请求上下文(RequestContext)传递给模板。
return render_to_response('my_template.html', my_data_dictionary, context_instance=RequestContext(request))
来源:http://lincolnloop.com/blog/2008/may/10/getting-requestcontext-your-templates/