Skip to main content

A Django app to query the Swiss Post API for postcodes and localities.

Project description

city-ch-autocomplete is a Django helper app to add an autocomplete widget in an address form that searches postal codes and locality names through the post.ch API.

It depends on Bootstrap 5 to produce the autocomplete widget.

Quick start

  1. Add “city_ch_autocomplete” to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...,
        "city_ch_autocomplete",
    ]
  2. Include city_ch_autocomplete urls to your urlpatterns:

    urlpatterns = [
        ...,
        path("", include("city_ch_autocomplete.urls")),
        ...,
    ]
  1. Get an API access from the Swiss Post (starting from https://developer.apis.post.ch/ui/home). Note the process can take some time. Then add the POST_API_USER and POST_API_PASSWORD settings to your project.

    Optionally you can get the data from a CSV and put it in a database table. Read below for more details.

  2. In the target form(s) of your project, add the CityChMixin to your form inheritance and a CityChField as a form field:

    from city_ch_autocomplete.forms import CityChField, CityChMixin
    
    class YourForm(CityChMixin, forms.ModelForm):
        class Meta:
            fields = [..., '<my_postcode_model_field>', '<my_city_model_field>', ...]
        city_auto = CityChField(...)
        postal_code_model_field = '<my_postcode_model_field>'
        city_model_field = '<my_city_model_field>'

    Don’t forget to include {{ form.media }} in the templates where you are using the form.

Searching from the database

If for some reason, you would prefer searching postcodes/names from a database table instead from the Swiss Post API, you can search on the Net for a CSV file containing the information. The PLZdb.import_from_csv(csv_path) class method allows for importing such data. Then set the POST_API_USER setting to None and the view will search from the database instead.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

city_ch_autocomplete-0.3.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

city_ch_autocomplete-0.3-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file city_ch_autocomplete-0.3.tar.gz.

File metadata

  • Download URL: city_ch_autocomplete-0.3.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for city_ch_autocomplete-0.3.tar.gz
Algorithm Hash digest
SHA256 b86f2ede3ee92071872d44595691a0918ea929a339e6c5e5befec9b949f3a8a5
MD5 70839d93d9bdf2382df75ed02901a938
BLAKE2b-256 2256b7c69ab2368f097992c155fd68f89f6920348af021ed1df317f9be119785

See more details on using hashes here.

Provenance

File details

Details for the file city_ch_autocomplete-0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for city_ch_autocomplete-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5f43c1519a7670ce7a2e256568695c74ee9167a328f84c69ec2bb9a1bf770cca
MD5 0ece1a49898b858602142b0310e5f415
BLAKE2b-256 5505669f391f0e91bc75d8f04b85564c9dff959e8a223772b174e4c28c95c218

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page