一个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 Grid loadmask(true)在gxt中不起作用   java将字符串索引转换为整数   为什么Java泛型适用于基元数组,但不适用于基元数组?   java如何让Azure应用程序服务Tomcat将所有80/443流量转发到运行在同一应用程序服务上的JBoss   具有多个值的java转换映射到树?   java如何设置SQL server连接URL?   java设置了多个相互独立的JFrame   安全性在JAVA中如何使用RSAPrivateKey的密码短语?   java不能使用比Apache Velocity中更大的条件   如何在Java中打印字符串的所有排列   停止Android Studio自动导入java。sql。日期   对象简单计算器程序java   java如何在安卓中使用“&”符号作为字符串?   java Connect,为我的安卓应用程序从REST API发布和获取数据