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
Add “city_ch_autocomplete” to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [ ..., "city_ch_autocomplete", ]
Include city_ch_autocomplete urls to your urlpatterns:
urlpatterns = [ ..., path("", include("city_ch_autocomplete.urls")), ..., ]
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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for city_ch_autocomplete-0.3.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce9de9015e809a753e51ae0221747ca0911a29181a45f6abcc1b2b5a18596d59 |
|
MD5 | 23f15ff9928a3ae9d0ac32bcfa85166f |
|
BLAKE2b-256 | e22ef3e95c527166da4ef5f97ab4d5f193aa473b076f48a1aa90e94bb53ec28f |
Hashes for city_ch_autocomplete-0.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f709fe0567e8074bca5b69dbfdb72000c64e8c1a3a64bc49aa6c56e80dc11544 |
|
MD5 | 6ae6b1ccc66d01a0f5e0ce45673979f3 |
|
BLAKE2b-256 | 4bea96148a87b4b5658fa49b40cad57b0e09e100cac109ad0707e9de8774948a |