2014-02-24 96 views
0

Django和Python新手在這裏。好吧,我想製作一個網頁,用戶可以輸入1到10之間的數字。然後,我想顯示與該數字相對應的圖像。每個數字都與圖像文件名相關聯,並且這10對存儲在.txt文件的列表中。檢索適當的文件名在Python中全局存儲數據

一種方法是創建一個NumToImage模型,其中有一個整數字段和一個字符串字段,以及所有10個NumToImage對象存儲在SQL數據庫。然後我可以檢索任何查詢號碼的文件名。但是,這似乎不是一個很好的解決方案,用於存儲我知道不會改變的簡單.txt文件。

那麼,在不使用數據庫的情況下,如何在Python中執行此操作?我習慣於C++,在那裏我將創建一個字符串數組,每個數字一個,並在應用程序啓動時從.txt文件加載這些字符串。然後,這個矢量將位於一個靜態對象內,以便我可以從我的應用程序中的任何位置訪問它。

在Python中如何做類似的事情?我不知道如何實例化一個Python對象,然後使它可以從其他Python腳本訪問。我能想到的唯一方法就是將對象實例作爲參數傳遞給我所調用的每個函數,這很愚蠢。

這是什麼標準的解決方案?

謝謝。

+1

你不需要的對象。你可以在你的主服務器文件中有全局引用(我會建議你從瓶子開始而不是django,儘管這很簡單)。 – njzk2

回答

0

Python的方式也非常相似:你在模塊級運行代碼,並創建可被其他模塊導入的模塊名稱空間中的對象。

在你的情況可能是這個樣子:

myimage.py

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