跳转到主要内容

Django项目的国家货币数据

项目描述

django-international是一个数据、模型和表单的组合,用于处理Django项目中与国家和货币相关的信息。该应用中使用的数据来自Django维基百科以及XE.com,并且当数据源更新时,将不时更新。

如果安装了babel,语言名称数据将从babel获取。

international.models.countries_raw

这是一个以下格式的元组元组

countries_raw = (
    (CO, CC, CNT, NUM, FN),
    ...
)

CO是两个字母的大陆代码。 CC是按照ISO 3166-1标准的国家代码。 CNT是按照ISO 3166-1标准的三个字母代码。 NUM是按照ISO-3166-1标准的三位数代码。 FN是作为可翻译字符串的国家全名(用django.util.translation.ugettext包装)。

此元组将在运行时处理以生成与选择兼容的元组。

请注意,某些国家名称已被修改,并且与维基百科上的原始列表相比,选择元组将省略任何出现在括号中的内容。

international.models.countries

这是一个与 Django 模型/表单字段中传递的 choices 参数兼容的元组元组。值是两字母的国家代码,显示值是不包含括号内部分的全称国家名。

如果将 use_static 参数传递给构造函数,或 COUNTRY_FORM_USE_STATIC 配置设置为 True,则此元组也用作国家表单中的 choices 参数。

international.models.currencies

这是一个与 Django 模型/表单字段中传递的 choices 参数兼容的元组元组。值是 ISO 4217 3字母货币代码,显示值是相同的代码和全称货币名。例如

('USD', 'USD - United States Dollar')

此元组用作货币表单中 ChoicesFieldchoices 参数。

international.models.languages

此列表提供了与语言本名和英语名称配对的本地标识符(例如,'en_US')的与 choices 兼容的元组列表。对于本地名称为英语的语言,不使用翻译。例如

jp          日本語 (Japanese)
en_US       U.S. English

如果未安装 babel,则此列表为空,但如果不需要语言列表,安装 babel 不是必需的。

internationa.models.languages_native

international.models.languages 相同,但仅使用名称的本地版本作为标签。与其他语言列表一样,只有当安装了 babel 时,此列表才会被填充。

international.models.languages_english

international.models.languages 相同,但仅使用名称的英语版本作为标签。与其他语言列表一样,只有当安装了 babel 时,此列表才会被填充。

international.models.Country

models 模块包含一个 Country 模型。它是一个完整的模型(不是抽象的),并且打算通过外键从其他模块链接。

Country.code

此字段包含按照 ISO 3166-1 alpha 2 标准的国家两字母 ISO 代码。该字段由允许在 维基百科 上找到的所有国家完整集合的选择约束。

国家的全称是可翻译的字符串,可以使用标准的 Django API 显示名称来显示。

>>> c = Country(code='AR', continent='SA')
>>> c.get_code_display()
u'Argentina'

Country.continent

此字段包含按照 维基百科 的两字母洲际代码。这些代码仅限于

  • AF – 非洲

  • AS – 亚洲

  • EU – 欧洲

  • NA – 北美洲

  • SA – 南美洲

  • OC – 大洋洲

  • AN – 南极洲

全称是可翻译的,可以使用 Django 的标准显示名称 API 获取。

>>> c = Country(code='AR', continent='SA')
>>> c.get_continent_display()
u'South America'

international.forms.CountryForm

构造函数使用通常的表单参数和一些附加参数。

CountryForm(*arg,
            use_static=False,
            include_empty=False,
            empty_value='',
            empty_label='All countries',
            **kwarg)

这是一个简单的表单,包含一个名为 country 的单个 ChoiceField 字段。它被标记为可选,有一个可翻译的标签,读作“国家”,并且初始值为空字符串。

可以使用配置设置或构造函数参数来控制此表单的一些方面。任何标准 Django 表单接受的参数也是可接受的(例如,initialdata)。请注意,构造函数参数始终优于设置。

以下部分描述了可用的配置设置和相应的构造函数参数。

COUNTRY_FORM_USE_STATICuse_static

这些选项控制是否使用 countries 元组或使用来自 Country 模型的现有国家作为字段的选项。如果使用模型对象,它们将在每次表单初始化时从数据库中读取。目前没有涉及缓存。

COUNTRY_FORM_INCLUDE_EMPTYinclude_empty

是否在选择项中包含一个“空”项。这可以根据您的需求在视图中被视为一个 None 值。如果设置为 True,将向选择项元组前添加一个单元素的两元组,该两元组使用 COUNTRY_FORM_EMPTY_VALUE 设置指定的空值或 empty_value 构造函数参数,以及与 COUNTRY_FORM_EMPTY_LABEL 设置或 empty_label 构造函数参数匹配的标签。

COUNTRY_FORM_EMPTY_VALUEempty_value

用作空的值。默认为空字符串。

COUNTRY_FORM_EMPTY_LABELempty_label

用作空项显示值的值。默认为可翻译字符串“所有国家”。

international.forms.CurrencyForm

CountryForm(参见 international.forms.CountryForm)一样,CurrencyForm 可以使用额外的参数调用

CurrencyForm(*arg,
             include_empty=False,
             empty_value='',
             empty_label='All currencies',
             **kwarg)

一个简单的表单,有一个简单的名为 currencyChoiceField 字段。它使用 currencies 元组作为选择参数。

此表单具有与 CountryForm 表单类似的配置参数。

CURRENCY_FORM_INCLUDE_EMPTYinclude_empty

是否在选择项中包含一个空项。空项的值和标签由 CURRENCY_FORM_EMPTY_VALUECURRENCY_FORM_EMPTY_LABEL 设置或 empty_valueempty_label 构造函数参数控制。

CURRENCY_FORM_EMPTY_VALUEempty_value

控制空项的值。默认为 ‘’。

CURRENCY_FORM_EMPTY_LABELempty_label

控制用于空项的标签。默认为可翻译字符串“所有货币”。

international.forms.CountryCurrencyForm

这是一个实验性功能,它将 CountryFormCurrencyForm 合并成一个表单。此表单受适用于简单表单的设置和构造函数参数的控制。

此功能尚未经过彻底测试(尤其是构造函数参数),但它已知与配置设置一起按预期工作。

有关更多信息,请参阅 international.forms.CountryForminternational.forms.CurrencyForm

固定装置

international/fixtures/ 目录包含一组可以使用 loaddata 管理命令加载的固定值。固定值基于 countries_raw 元组生成,并包含 Country 模型的数据。它故意不是初始数据固定值,因为 Country 模型的目的是创建一个可编辑的国家列表,而不是将它们硬编码。初始数据固定值会在每次使用 syncdb 命令时覆盖数据,因此它将有效地无效化模型的非常目的。

贡献者

报告错误

可以通过 Bitbucket 问题跟踪器 报告错误。

项目详情


下载文件

下载适用于您平台上的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源代码分发

django-international-0.0.6.zip (21.3 kB 查看哈希值)

上传时间 源代码

django-international-0.0.6.tar.gz (17.1 kB 查看哈希值)

上传时间 源代码