Как добавить приложение на все страницы в Django? - PullRequest
2 голосов
/ 17 августа 2010

У меня есть приложение под названием lastapp, которое я хотел бы видеть на всех страницах.Он отображает base.html, поэтому он доступен во всех приложениях.До сих пор я пытался добавить его в urls.py следующим образом:

urlpatterns = patterns('',   
    (r'^first/$', firstapp, lastapp),
    (r'^last/$', lastapp),
)

Но когда я перехожу к / first /, это выдает мне ошибку: Ошибка, «функция» не повторяется.Это показывает хорошо при переходе в / последний /.Если я удаляю lastapp из / first / site в urls.py, то firstapp тоже хорошо работает.Есть ли особый способ сделать это?Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 17 августа 2010

Что именно вы пытаетесь сделать?

Все установленные приложения доступны в вашем проекте, но само приложение не возвращает никаких данных в шаблон, это работа представлений, которые являются частью этого приложения.

Я предполагаю, что firstapp и lastapp скорее представления, чем приложения.

Если это так, контекстные процессоры позволяют всегда передавать определенные данные в шаблон.

Итак, создайте контекстный процессор из lastapp и установите его в TEMPLATE_CONTEXT_PROCESSORS в settings.py.

0 голосов
/ 17 августа 2010

Я думаю, что вам нужно, вероятно, Middleware .

...