2010-06-10 3 views
0

İned, чтобы написать снюплет кода, который позволяет отключить подключение к некоторым частям сайта. Администратор и основная страница будут отображаться, но будет отображаться пользовательский раздел (который использует ajax), но не может использоваться (с прозрачным div, установленным на странице). Также есть несколько страниц, которые будут отключены.добавить дополнительные данные в объект ответа для визуализации в шаблоне

моя логика в том, что я пишу промежуточное программное обеспечение,

def process_request(self, request): 
    if ayar.tonline_kapali: 
     url_parcalari = request.path.split('/') 
     if url_parcalari[0] not in settings.BAGIMSIZ_URLLER: 
      if not request.is_ajax(): 
       return render_to_response('bakim_modu.html') 
    else: 
     return None 

, что код, дайте мне, чтобы отобразить «сайт закрыт» сообщение для URLs не в BAGIMSIZ_URLLER (который содержит URL-адресов, которые будут доступны)

Но я не понимаю, как я могу решить проблему с страницами ajax ... Мне нужно установить заголовок или что-то в ответ и проверить его в шаблоне.

+0

Возможно, с помощью process_view будет решить мою проблему ... Но мне нужна помощь для использования process_view – FallenAngel

ответ

1

здесь documentation for process_view Использование прост. process_view вызывается непосредственно перед Джанго вызывает вид, и получить несколько аргументов: запрос - объект запроса view_func - Просмотр функции view_args - Аргументы view_kwargs - Ключевое слово аргументы

Какой пример вам нужно?

+0

Мне нужно передать некоторые аргументы в dictionaty как формат, как { «system_status»: «от»} или как. и проверьте значение в шаблоне (если возможно) или в представлении и поместите div над страницей, чтобы пользователь не мог ничего сделать, кроме как увидеть сообщение. Страница использует ajax, как я сказал, и обновляется каждые несколько секунд, так как до тех пор, пока «system_status» выключен, страница winn не может быть работоспособной, но видимой. – FallenAngel

+0

Итак, вы можете изменить любые аргументы представления. У вас есть: view_args - Аргументы view_kwargs - ключевые аргументы вы можете редактировать их и отправлять на просмотре, и проверить некоторые параметры в просмотре ... или, например, создать templatetag для ваших взглядов, которые будут проверять параметры посылая вам промежуточное ПО. – Saff