django - вызывающие функции формируют один файл в другой - PullRequest
0 голосов
/ 06 февраля 2011

Я хотел бы продолжать использовать некоторые функции, которые я создал, во многих моих представлениях django, чтобы мне не приходилось писать их снова и снова при каждом просмотре.

Итак, я создал папку с __init__.py.В этой же папке я также создал файл myfunctions.py, в который я поместил свои функции, которые я хотел бы повторно использовать в моих представлениях django.

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

def test_function():
    test_variable = 1

Я хотел бы просто вызвать test_function() для представления и передать значение test_variable (равное 1 в этомслучай) на шаблоне я создал.Шаблон для представления уже имеет тег {{ test_valiable }}.

Моя проблема в том, что когда я вызываю test_function() в моем представлении, я не вижу значения test_variable, переданного тегу {{ test_valiable }} в шаблоне, связанном с моим представлением.

Способ, которым я вызвал функцию, на мой взгляд:

test_function()

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 06 февраля 2011

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

def test_function():
    test_variable = 1
    return test_variable

И использовать ее в views.py

def View(request):
   result = test_function()
   return render_to_response('template', {'test_valiable' : result })
1 голос
/ 06 февраля 2011

Ваш вопрос не очень понятен.

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

...