city-ch-autocomplete 0.3.2

Creator: codyrutscher

Last updated:

Add to Cart

Description:

citychautocomplete 0.3.2

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.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.