Python 如何确保facebook channel.html javascript缓存在Django中?
我是Django的新手,正在尝试构建一个使用FBAPI的应用程序。为了避免每次我在应用程序中加载页面时都必须登录,Facebook建议我为PHP用户使用带有以下内容的频道文件:Python 如何确保facebook channel.html javascript缓存在Django中?,python,django,facebook,caching,connect,Python,Django,Facebook,Caching,Connect,我是Django的新手,正在尝试构建一个使用FBAPI的应用程序。为了避免每次我在应用程序中加载页面时都必须登录,Facebook建议我为PHP用户使用带有以下内容的频道文件: <?php $cache_expire = 60*60*24*365; header("Pragma: public"); header("Cache-Control: maxage=".$cache_expire); header('Expires: '.gmdate('D, d M Y H:i:
<?php
$cache_expire = 60*60*24*365;
header("Pragma: public");
header("Cache-Control: maxage=".$cache_expire);
header('Expires: '.gmdate('D, d M Y H:i:s', time()+$cache_expire).' GMT');
?>
<script src="//connect.facebook.net/en_US/all.js"></script>
我想知道我怎样才能为我的Django应用程序实现同样的效果。我不想使用太多的Django-/Python Facebook集成,因为它们通常包含太多不必要的特性,这些特性会破坏我的后端,或者包含太少我不喜欢的特性。谢谢你的帮助 您可以在HTTP响应函数上设置响应头。因此,如果您想模拟PHP代码,可以在视图中执行以下操作:
def channel(request):
response = HttpResponse('<script src="//connect.facebook.net/en_US/all.js"></script>')
response['Pragma'] = 'public'
...
return response
谢谢你的建议@nathan jhaveri,但还是没用。以下是我所做的:1使用urlr“^channel/”、“channel”更新urls.py,2更新我的FB Init JS以包括FB.Init{…channelUrl:“channel/”,3使用代码更新views.py加上…cache_expire=60*60*24*365响应['Pragma']='public'响应['cache-Control'='maxage='+cache_expire响应['Expires']=time.strftime'D,D M Y H:i:s',time.gmtimeinttime.time+cache_expire+'GMT'返回响应是否知道什么可能不合适?否则,我怀疑FB.init应该访问此视图,还有一件事-我在views.py:from email.Utils import formattate和import time中包含了一些模块