2011-02-06 7 views
0

많은 장고 뷰에서 작성한 일부 함수를 계속 재사용하고 싶습니다. 그래서 모든 뷰를 반복해서 쓰지 않아도됩니다.django - 하나의 파일을 다른 형식으로 호출하는 함수

그래서 폴더에 __init__.py이 생성되었습니다. 같은 폴더에서 필자는 myfunctions.py 파일을 생성하여 장고보기에서 재사용하고 싶습니다.

def test_function(): 
    test_variable = 1 

는 그냥 전화를하고 싶습니다 : 여기

내가 내보기에 그 함수의 기능과 특히 변수를 재사용 할 경우 있는지 myfunctions.py에 넣어 그냥 아주 간단한 테스트 기능입니다 test_function()보기 및 내가 만든 템플릿에 test_variable 값 (이 경우 1)을 전달합니다. theat보기 템플릿에는 이미 태그 {{ test_valiable }}이 있습니다.

내 문제는 내보기에서 test_function()을 호출 할 때 내보기와 관련된 템플릿의 {{ test_valiable }} 태그에 전달 된 test_variable 값이 표시되지 않는다는 것입니다.

내보기에서 함수를 호출하는 방법은 다음과 같습니다 내가 바로 일을하고 있지 않다 무엇

test_function() 

?

+2

에서 사용 : 이에 함수를 다시 작성해야합니다. 나는 파이썬 튜토리얼을 다시 읽는 것을 추천한다. –

답변

2

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 }) 
+0

내 기능에 나는 돌아 오는 것을 잊어 버리는 이유를 잊어 버렸다. :). 실수를 배워야합니다. – avatar

1

귀하의 질문은 명확하지 않습니다.

특정 경우에 따라 templatetags 또는 contextprocessors를 사용해야한다고 생각합니다.

+0

약간 혼란스럽고 사과드립니다. 다시 시도 할게. 그래서 코드 복제를 무효화하기 위해 장고 뷰에서 재사용해야하는 모든 기능을 넣은 파일을 만들었습니다. 내가 필요한 것은 그 안에있는 것을 다시 타이핑하지 않고 내 장고 뷰에서 보여준 함수들을 만드는 쉬운 방법이다. 보통 나는 그들에게 논쟁 만 전달할 필요가있다. – avatar

관련 문제