2013-02-09 2 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 (г '^ канал /', 'канал'), (2) Обновление моего FB Init JS включить FB.init ({ .. . channelUrl: 'канал /', (3) Обновление views.py с кодом плюс ... cache_expire = 60 * 60 * 24 * 365 ответ [ 'Прагма'] = 'общественное' ответ [» Cache-Control '] =' maxage = '+ cache_expire response [' Expires '] = time.strftime (' D, d MYH: i: s ', time.gmtime (int (time.time()) + cache_expire)) + 'GMT' \t ответный ответ Любая идея, что может быть неуместно? В противном случае я подозреваю, что FB.init должен получить доступ к этому представлению – Peeaytchpee

+0

И еще одна вещь - я включил некоторые модули в views.py: из email.Utils import formatdate AND время импорта – Peeaytchpee