1
Django的localflavor貌似localflavor的一般用法是進口國的具體包:國際網站
from localflavor.nz.forms import NZRegionSelect
如果我有一個支持多個國家的網站?是否有一般代理是國家無關,是這樣的:
from localflavor.autodetect.forms import RegionSelect
Django的localflavor貌似localflavor的一般用法是進口國的具體包:國際網站
from localflavor.nz.forms import NZRegionSelect
如果我有一個支持多個國家的網站?是否有一般代理是國家無關,是這樣的:
from localflavor.autodetect.forms import RegionSelect
__import__會做的伎倆:
def get_region_select(country_code):
module_path = 'django.contrib.localflavor.{}'.format(country_code)
try:
module = __import__(module_path, fromlist=['forms'])
except ImportError:
return None
fieldname = '{}RegionSelect'.format(country_code.upper())
if hasattr(module.forms, fieldname):
return getattr(module.forms, fieldname)()
return None
摘自:http://codeinthehole.com/writing/validating-international-postcodes-in-django/
然後,在你的模板,你每次更換國家時都必須重新加載頁面,並在視圖中執行類似操作:
form.fields['region'].widget = get_region_select(country)
由於不同的地區會有不同的選擇。
一種選擇是根據一些標準導入 - 如設置.. – karthikr
@karthikr沒錯,我在想這個,但是在這個階段我們不確定我們是否有基於位置的網絡服務器。 –