https://github.com/znc-sistemas/django-municipios
Aplicação plugável Django com modelos e widgets para os Municípios Brasileiros
https://github.com/znc-sistemas/django-municipios
django python python3
Last synced: 3 months ago
JSON representation
Aplicação plugável Django com modelos e widgets para os Municípios Brasileiros
- Host: GitHub
- URL: https://github.com/znc-sistemas/django-municipios
- Owner: znc-sistemas
- License: mit
- Created: 2011-05-26T13:53:14.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2022-09-20T21:46:48.000Z (about 3 years ago)
- Last Synced: 2025-07-06T18:46:01.317Z (4 months ago)
- Topics: django, python, python3
- Language: Python
- Homepage:
- Size: 332 KB
- Stars: 51
- Watchers: 25
- Forks: 30
- Open Issues: 4
-
Metadata Files:
- Readme: README.rst
- Changelog: HISTORY.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
README
==================================
Municípios Brasileiros para Django
==================================
Aplicação plugável Django com modelos e widgets para os Municípios Brasileiros
- Form com selector Ajax
- widget reutiliz[avel com Field specificop para modelos com campo municipio.
Instalando o django-municipios
==============================
$ pip install django-municipios
ou
$ easy_install django-municipios
ou baixar o código fonte do github e rodar "setup.py":
$ git clone git://github.com/znc-sistemas/django-municipios.git
$ cd django-municipios
$ python setup.py install
Dependências
============
* jQuery (somente para utilizar widget de seleção de Municípios)
Usando o django-municipios
==========================
SETTINGS
~~~~~~~~
adicione a aplicação no INSTALLED_APP no seu settings.py
::
INSTALLED_APPS = (
...
'municipios',
...
)
Utilizando dados geográficos
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Se for utilizar GIS adicione a variável ``MUNICIPIOS_GEO``:
::
MUNICIPIOS_GEO = True
No settings.py, antes de rodar o `syncdb`.
Este parâmetro habilita os campos que armazenam dados Geográficos (GeoDjango).
Para carregar dados geográficos de todos os Municípios e UFs baixe o arquivo de fixture
municipios_geo_2013_4674.json.zip_ (110 MB), e carregue a fixture com
::
python manage.py loaddata municipios_geo_900913.json.bz2
.. _municipios_geo_2013_4674.json.zip: https://github.com/znc-sistemas/django-municipios/releases/download/0.8.1/municipios_geo_2013_4674.json.zip
Utilizando o widget de Seleção de Municípios
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
from django import forms
from municipios.widgets import SelectMunicipioWidget
class FormEndereco(forms.Form):
municipio = forms.IntegerField(label=u"UF - Município", widget=SelectMunicipioWidget)
View
~~~~
::
def teste(request):
form = FormEndereco()
return render_to_response('endereco/teste.html',
{'form':form,}, context_instance = RequestContext(request))
Template
~~~~~~~~
1. Inclua o jquery no seu template, ou adicione ao media do seu Form.
2. form.media - o widget depende de codigo js para funcionar o ajax
::
{{ form.media }}
{{ form }}
Template para o widget
~~~~~~~~~~~~~~~~~~~~~~
A partir da versão 0.8.0 é possível customizar o template utilizado para apresentar o widget.
Os templates identificados pela aplicação são :
1. municipio_field.html
2. uf_field.html
e o nome da variável a ser substituída é ``{{wselect}}``
ex.: de template para BootStrapTwitter
::
Município {{wselect}}
adicione o HTML acima em um template dentro de por exemplo /municipios/templates/municipios/municipio_field.html
URLs
~~~~
Adicionar as urls da aplicação no arquivo definido pelo ``ROOT_URLCONF`` do setings.py.
.. admonition:: Nota
A partir da versão 1.4 do Django o prefixo da url pode ser qualquer um, nas versões
anteriores é necessário utilizar o prefixo "muncipios_app".
::
(
...
url(r'^municipios_app/', include('municipios.urls')),
...
)
Arquivos Estáticos
~~~~~~~~~~~~~~~~~~
Para o funcionamento do widget de seleção de municípios em ambiente de produção é necessário utilizar o comando collectstatic_ do ``Static Files``.
.. _collectstatic: https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/#collectstatic