2011-03-06 79 views
0

我是新的Web應用程序開發人員,所以如果此問題太基本,請提前抱歉。如何在Web應用程序中加載國家數據庫

以下是這個問題的詳細信息:正在使用

A]網站 - 谷歌應用程序引擎與Python,django的。

B]教程鏈接使用 - http://code.google.com/appengine/articles/djangoforms.html

C]問:在我建立的應用程序,有一個下拉框,它允許用戶選擇自己的國家。由於國家列表超過200,我想在應用程序加載之前構建國家的數據庫。

一旦部署了這個應用程序,我不希望數據庫再次被重新加載,因爲條目對所有用戶都是不變的。如何實現這一目標?

謝謝, 蘭斯。

回答

2

將國家作爲一個恆定的名單:

COUNTRIES=['United States', 'England'...] 

在你的模型:

country=db.StringProperty(verbose_name='Country',required=False, choices=set(COUNTRIES)) 

現在,當你加載您的模型表單,選擇將從您的國家/地區列表中自動填充。

+0

謝謝,我可以看到這將工作。但是這會在用戶每次調用應用程序時加載這些國家。有沒有一種方法可以加載數據庫,並在應用程序啓動時爲應用程序使用做好準備。 – bhavesh 2011-03-06 18:37:40

+0

如果將變量存儲在python列表中,它們將不會存儲在數據庫中,因此可以在啓動時爲應用程序使用。該列表將加載一次,並始終可用於您的應用程序。你是否試圖將這些值硬編碼到你的html中? – garnertb 2011-03-06 20:38:08

+0

@lance_klusener每次實例啓動時從源代碼加載國家的速度將比每次渲染頁面時從數據存儲區加載它們快得多。 – 2011-03-07 23:22:53

-1

只需使用

<select> 
    <option></option> 
</select> 

感謝 讓

+0

瓊,在工作版本我有:<形式行動= 「/ UserReporting」 名稱= 「addCountry」 ID = 「addCountry」 方法= 「POST」> \t \t

選擇國家:

\t <選擇名稱= 「國家」 ID = 「國家」> \t \t <選項值= 「0」>國家... \t \t \t <選項值= 1>阿富汗 \t \t \t <選項值= 2> Å土地 個羣島 \t \t \t <期權價值= 3>阿爾巴尼亞 \t \t \t <期權價值= 4>阿爾及利亞 \t \t \t <期權價值= 5>美國 屬薩摩亞 – bhavesh 2011-03-06 18:38:45

+0

對不起以前的編輯去快,我在我的HTML文件中有