一个django应用程序,用于10n个邮政地址。

django-postal的Python项目详细描述


Django邮政

(基于http://github.com/mthornhill/django-postal

警告

这个项目处于alpha模式,api处于不断变化之中。

一个django应用程序,它为邮政地址提供一个位置不可知的模型。

这个项目背后的动机是大多数国家都有不同形式的 邮政地址,例如http://www.bitboost.com/ref/international-address-formats.htmlhttp://en.wikipedia.org/wiki/Address_%28geography%29

此应用程序假设全球所有邮政地址都可以由5个可选地址组成 地址行加上国家代码。

然后根据所选国家/地区本地化每行的标题。 每个地址行的进一步信息可以从 django.contrib.localflavor字段和小部件,例如英国的

from django import forms
from django.utils.translation import ugettext_lazy as _
from django.contrib.localflavor.uk.forms import UKPostcodeField, UKCountySelect

from postal.forms import PostalAddressForm

class GBPostalAddressForm(PostalAddressForm):
    line1 = forms.CharField(label=_(u"Street"), required=False, max_length=50)
    line2 = forms.CharField(label=_(u"Area"), max_length=50)
    city = forms.CharField(label=_(u"Town"), max_length=50)
    state = forms.CharField(label=_(u"County"), widget=UKCountySelect, max_length=50)
    code = UKPostcodeField(label=_(u"Postcode"))

希望各捐助者为每个国家提供地址格式 最终这些地址信息可以找到 django.contrib.localflavor

依赖关系

安哥拉国家(http://pypi.python.org/pypi/django-countries

用法

一。在^{tt3}中将django countries和django posal添加到您的INSTALLED_APPS中$ 例如:

INSTALLED_APPS = (
    "countries",
    "postal",
    ...
    )
  1. postal_form添加到模板:

    some_template.html
    {% load postal_tags %}
    <html>
        <head>
            <script src="{{ MEDIA_URL }}js/jquery-1.4.2.min.js" type="text/javascript" charset="utf-8"></script>
        </head>
    <body>
        <form method="POST" action="">
            {% csrf_token %}
            {{form.as_p}}
            {% monitor_country_change %}
            <script type="text/javascript">
                $('form').monitor_country_change('#id_country');
            </script>
            <input type="submit"/>
        </form>
    </body>
    </html>
    

在上述表格中更改国家应使地址表格本地化。

  1. 在您的视图代码中,添加代码以保存地址表单,例如:

    from postal.forms import PostalAddressForm
    
    def my_view(request)
        if request.method == "POST":
            address_form = PostalAddressForm(request.POST, prefix=request.POST.get('prefix', ''))
            address_form.save()
    

如何使用本地化地址

默认情况下,地址本地化处于启用状态。在settings.py集合中关闭地址l10n:

POSTAL_ADDRESS_L10N = False

自定义地址标签和要求

如果要自定义地址标签以及地址行是否 是否必需,您可以将以下变量添加到settings.py:

POSTAL_ADDRESS_LINE1, POSTAL_ADDRESS_LINE2, POSTAL_ADDRESS_CITY, POSTAL_ADDRESS_STATE, POSTAL_ADDRESS_CODE

这些变量中的每一个都被设置为^{tt6}格式的元组$ label用于标记字段,第二个布尔值设置 字段是否必需,例如:

POSTAL_ADDRESS_LINE1 = ("Department", True)

生成历史记录

0.9.6条 拆卸django活塞要求 修复了Django 1.7兼容性问题 增加意大利邮政地址表 (感谢Francesco Facconi的上述更改)

0.7.2条 主要的重构,所有的模型都被删除了,所以django postal只提供本地化的表单。 由支持项目来定义他们自己的地址模型

0.4分 不要强制邮政地址的唯一性

开发人员,如何贡献

吉特福:

$ git clone git@github.com:mthornhill/django-postal.git
$ cd django-postal
$ virtualenv . --no-site-packages
$ source bin/activate
$ python bootstrap.py
$ bin/buildout -v
$ bin/django syncdb
$ bin/django test postal
$ bin/django runserver

浏览到http://localhost:8000

新的国家可以通过它们的 两个字母的国家代码,例如us

每个国家文件夹都包含一个__init__.py和一个forms.py

forms.py包含本地化地址。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java楼梯的最大高度   java Jackson从1.7.1更新到2.8.6 JsonTypeInfo子类型反序列化   Spring WebApp中的java JPA异常处理   java在SwingWorker(doInBackground)中从WorkerThread调用多个方法?   java Android Studio构建到jar   java是添加多个按钮组的更有效方法   java MySQL JDBC连接池最大大小   java如何防止元素<Integer>变成元素<Object>   Java:处理大型XML文件提取数据而不编写状态自动机?   SpringBoot和React Web应用程序中CAS的java重定向问题   需要java算法方面的帮助吗   java在JDK 16中使用PowerMock   java异常错误本机方法签名   在Java Android中将JSON映射到数组/对象   如何打开一个窗口。java程序中的dat文件   java应用程序引擎+Maven+热插拔   java Moxy的getValueByXPath为除根元素以外的所有元素返回null