2014-02-24 4 views
0

장고와 파이썬 초보자는 여기에 있습니다. 자, 사용자가 1에서 10 사이의 숫자를 입력 할 수있는 웹 페이지를 만들고 싶습니다. 그런 다음 그 번호에 해당하는 이미지를 표시하고 싶습니다. 각 번호는 이미지 파일 이름과 연결되며이 10 쌍은 .txt 파일의 목록에 저장됩니다.Python에서 전역으로 데이터 저장

적절한 파일 이름을 검색하는 한 가지 방법은 정수 필드와 문자열 필드가있는 NumToImage 모델을 만들고 SQL 데이터베이스에 10 개의 NumToImage 개체를 모두 저장하는 것입니다. 그런 다음 모든 쿼리 번호의 파일 이름을 검색 할 수 있습니다. 그러나 이것은 변경하지 않을 간단한 .txt 파일을 저장하는 훌륭한 솔루션처럼 보이지 않습니다.

그래서 데이터베이스를 사용하지 않고 파이썬에서 이것을 수행하는 방법은 무엇입니까? 저는 C++에 익숙합니다. 여기서 각 문자열에 하나씩 문자열 배열을 만들고 응용 프로그램이 시작될 때 .txt 파일에서이 문자열을로드합니다. 그런 다음이 벡터는 정적 객체 내에 있으므로 응용 프로그램의 어느 곳에서나 액세스 할 수 있습니다.

파이썬에서는 어떻게 비슷한 일을 할 수 있습니까? 나는 파이썬 객체를 인스턴스화하는 방법을 모르고 다른 파이썬 스크립트에서 접근 할 수있게한다. 이 작업을 수행하는 유일한 방법은 호출하는 모든 단일 함수에 대한 인수로 개체 인스턴스를 전달하는 것입니다. 이는 바보입니다.

이 표준 솔루션은 무엇입니까?

감사합니다.

+1

myimage.py. 주 서버 파일에서 전역 참조를 가질 수 있습니다 (장고보다 플라스크로 시작하는 것이 좋습니다. 그러나 매우 간단합니다). – njzk2

답변

0

파이썬 방법은 모듈 수준에서 코드를 실행하고 다른 모듈에서 가져올 수있는 모듈 네임 스페이스에서 개체를 만드는 것과 매우 비슷합니다. 귀하의 경우에는

는 다음과 같이 보일 수 있습니다 객체를 필요가 없습니다

imagemap = {} 
# Now read the (image_num, image_path) pairs from the 
# file one line at a time and do: 
#  imagemap[image_num] = image_path 

views.py

from myimage import imagemap 

def my_view(image_num) 
    image_path = imagemap[image_num] 
    # do something with image_path 
관련 문제