A simple Django app for inlines formsets
Project description
============================+
Inline forms with bootstrap3
============================+
Form-inline-bootstrap a simple Django app to create form with forsets.
Use with crispy-forms.
Quick start
-----------
1. Add 'django_form_inline__bootstrap3' to your INSTALLED_APPS setting like this:
settings.py
INSTALLED_APPS = (
...
'crispy_forms',
'easy_formsets_bootstrap'
)
2. EXAMPLE
models.py:
class Company(models.Model):
name = models.CharField(max_length=250)
class Employe(models.Model):
name = models.CharField(max_length=250)
company = models.ForeignKey(Company, related_name='employes')
```
forms.py
class FormMixin(object):
def __init__(self, *args, **kwargs):
super(FormMixin, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_tag = False
class CompanyForm(FormMixin, forms.ModelForm):
class Meta:
model = Company
class EmployeForm(FormMixin, forms.ModelForm):
class Meta:
model = Employe
EmplyeFormSet = inlineformset_factory(Company, Employe, form=EmployeForm, extra=1)
views.py
class CompanyFormMixin(object):
model = Company
formsets_class = [EmployeFormSet]
form_class = CompanyForm
class CompanyCreate(CompanyFormMixin, FormsetMixin, CreateView):
pass
class CompanyUpdate(CompanyFormMixin, FormsetMixin, UpdateView):
is_update_view = True
company_form.html
/* here need jquery <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> /*
{% load form_inlines %}
{% load crispy_forms_tags %}
<form action="" method="post" enctype="multipart/form-data">
{{ form.errors|as_crispy_errors }}
{% main_form form formsets %}
{% render_formsets formsets %}
<div class="form-actions col-md-24">
<button type="submit" class="btn btn-primary">Save</button>
</div>
</form>
{% empty_formsets formsets %}
3. profit
Inline forms with bootstrap3
============================+
Form-inline-bootstrap a simple Django app to create form with forsets.
Use with crispy-forms.
Quick start
-----------
1. Add 'django_form_inline__bootstrap3' to your INSTALLED_APPS setting like this:
settings.py
INSTALLED_APPS = (
...
'crispy_forms',
'easy_formsets_bootstrap'
)
2. EXAMPLE
models.py:
class Company(models.Model):
name = models.CharField(max_length=250)
class Employe(models.Model):
name = models.CharField(max_length=250)
company = models.ForeignKey(Company, related_name='employes')
```
forms.py
class FormMixin(object):
def __init__(self, *args, **kwargs):
super(FormMixin, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_tag = False
class CompanyForm(FormMixin, forms.ModelForm):
class Meta:
model = Company
class EmployeForm(FormMixin, forms.ModelForm):
class Meta:
model = Employe
EmplyeFormSet = inlineformset_factory(Company, Employe, form=EmployeForm, extra=1)
views.py
class CompanyFormMixin(object):
model = Company
formsets_class = [EmployeFormSet]
form_class = CompanyForm
class CompanyCreate(CompanyFormMixin, FormsetMixin, CreateView):
pass
class CompanyUpdate(CompanyFormMixin, FormsetMixin, UpdateView):
is_update_view = True
company_form.html
/* here need jquery <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> /*
{% load form_inlines %}
{% load crispy_forms_tags %}
<form action="" method="post" enctype="multipart/form-data">
{{ form.errors|as_crispy_errors }}
{% main_form form formsets %}
{% render_formsets formsets %}
<div class="form-actions col-md-24">
<button type="submit" class="btn btn-primary">Save</button>
</div>
</form>
{% empty_formsets formsets %}
3. profit
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
File details
Details for the file django-formsets-bootstrap3-0.2.2.tar.gz
.
File metadata
- Download URL: django-formsets-bootstrap3-0.2.2.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae07d32fd892485e3fcbbf877e91f2a0058db85cd56f976770564086163cd30a |
|
MD5 | a48bb245f64d1148eeb5f0c3c866298a |
|
BLAKE2b-256 | 679d6e5e4d532ab6a04c48803f879426141b84438bdc028d39ccdb4d22174b51 |