django-forms-fieldset
Django form fieldset inspire django admin fieldset
Installation
pip install django-forms-fieldset
Usage
settings
Add forms_fieldset to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [
...
'forms_fieldset',
]
load template
{% load forms_fieldset static %}
<link rel="stylesheet" type="text/css" href="{% static 'forms_fieldset/css/main.css' %}">
<form>
{% fieldset form fieldsets '#42945c' %}
</form>
Note : The first argument of fieldset tag is the form the second the list
fieldsets where you have defined the positioning of your different elements and
the last the color of the title of the fieldset (by default this value is at #79AEC8)
Complete Guide
models
from django.db import models
# Create your models here.
class Student(models.Model):
first_name = models.CharField(max_length=200, verbose_name="First Name")
last_name = models.CharField(max_length=200, verbose_name="Last Name")
email = models.EmailField(unique=True, verbose_name="Email")
adress = models.CharField(max_length=200, verbose_name="Adress")
mother_name = models.CharField(max_length=200, verbose_name="Mother Name")
father_name = models.CharField(max_length=200, verbose_name="Father Name")
class Note(models.Model):
SUBJECTS = (
('Math', 'Math'),
('French', 'French'),
('Physical', 'Physical'),
)
student = models.ForeignKey('Student', on_delete=models.CASCADE, related_name="notes")
subject = models.CharField(max_length=200, choices=SUBJECTS, verbose_name="Subject")
value = models.IntegerField(verbose_name="Notation")
class Meta:
verbose_name = "Les notes"
verbose_name_plural = "Les notes"
forms
from django.forms import ModelForm
from .models import Student
class StudentForm(ModelForm):
fieldsets = [
("Student Information", {'fields': [
('first_name', 'last_name'),
('email', 'adress'),
]}),
("Parent Information", {'fields': [
'mother_name',
'father_name',
]}),
]
class Meta:
model = Student
fields = '__all__'
views
from django.shortcuts import render
from django.forms import inlineformset_factory
from .forms import StudentForm
from .models import Student, Note
# Create your views here.
def home(request):
form = StudentForm()
InlineForm = inlineformset_factory(Student, Note,
fields=('subject', 'value',), exclude=('pk',), can_delete=False,
)
if request.method == 'POST':
form = Form(request.POST, request.FILES)
formset = InlineForm(request.POST, request.FILES)
#save...
context = {
'form': form,
'fieldsets': form.fieldsets,
'inline_form': InlineForm()
}
return render(request, 'home.html', context)
template
{% load forms_fieldset static %}
<!DOCTYPE html>
<html>
<head>
<title>Home page</title>
<link rel="stylesheet" type="text/css" href="{% static 'forms_fieldset/css/main.css' %}">
</head>
<body style="width: 75%; margin: 50px auto">
<h1>Student form information</h1>
<form>
{% fieldset form fieldsets '#42945c' %}
{% inline_fieldset inline_form '#42945c' "Note des eleves" %}
</form>
</body>
</html>
enjoy
Features
- Fieldset django form
- Fieldset (tabular style) inline form
Credit
Harouna Diallo
Metadata
Release files for django-forms-fieldset 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-forms-fieldset-0.1.4.tar.gz | 277.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_forms_fieldset-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 554.8 kB
Release files / django-forms-fieldset-0.1.4.tar.gz
| Download URL | django-forms-fieldset-0.1.4.tar.gz |
|---|---|
| Size | 277.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1df3b479abf171ab9c4b4c0e8fcc256794a23d63ee3904b99596f071ee71fcd9
|
|
BLAKE2b-256 checksum How to use checksums |
25bee42dc98f0a485b0ef957f1b3c65cfa8f029df3916ba9be4170a40fb32d1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5
|
Release files / django_forms_fieldset-0.1.4-py3-none-any.whl
| Download URL | django_forms_fieldset-0.1.4-py3-none-any.whl |
|---|---|
| Size | 277.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
183dd75b26dee1b9db559585ff70ae5d2436f5761a30195451f4a56809002533
|
|
BLAKE2b-256 checksum How to use checksums |
d243519aac7fc3f23f5933640b788519ea3530ecfa36e5a3de02e1f2bd528a08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5
|