2013-02-09 21 views
1

我是Django的新手,正在嘗試構建一個使用FB API的應用程序。爲了不記錄日誌每次我在我的應用程序加載頁面時,Facebook建議我使用的信道文件與PHP的用戶提供:如何確保facebook channel.html javascript在Django中緩存?

<?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集成,因爲它們通常包含太多不必要的功能,以致於無法使用我的後端或者我不喜歡的那種功能太少。謝謝你的幫助。

回答

0

您可以在HTTP響應函數上設置響應標頭。所以,如果你想模仿PHP代碼,你可以在你的視圖中這樣做:

def channel(request): 
    response = HttpResponse('<script src="//connect.facebook.net/en_US/all.js"></script>') 
    response['Pragma'] = 'public' 
    ... 
    return response 
+0

感謝您的建議@ nathan-jhaveri,但仍然沒有骰子。 這裏就是我所做的: (1)更新urls.py與 URL(R '^通道/', '道'), (2)更新我的FB初始化JS包括 FB.init({ .. 。 channelUrl: '信道/', (3)更新views.py與您的代碼加 ... cache_expire = 60 * 60 * 24 * 365 響應[ '附註'] = '公共' 響應[」 ('time_time())+ cache_expire)')='max_size ='+ cache_expire response ['Expires'] = time.strftime('D,d MYH:i:s',time.gmtime )+'GMT' \t回覆回覆 任何想法可能不合適?否則,我懷疑FB.init應該訪問這個視圖 – Peeaytchpee 2013-02-28 01:43:07

+0

還有一件事 - 我在email.Utils導入格式化日期和 導入時間在views.py中包含一些模塊: – Peeaytchpee 2013-02-28 01:47:14