A None field for Django.
Project description
django-nonefield is a None field for Django.
A typical use case: allow presentational (non-input, non-field) form elements (text, image, embed video, etc). This could be very useful if your forms are dynamic (as in form-builders/generators). Django REST Framework integration is implemented as well.
Prerequisites
Django 1.8, 1.11, 2.0, 2.1, 2.2, 3.0.
Python 2.7, 3.5, 3.6, 3.7, 3.8
Installation
Install latest stable version from PyPI:
pip install django-nonefield
Or latest stable version from GitHub:
pip install https://github.com/barseghyanartur/django-nonefield/archive/stable.tar.gz
Or latest stable version from BitBucket:
pip install https://bitbucket.org/barseghyanartur/django-fobi/get/stable.tar.gz
Add nonefield to INSTALLED_APPS of the your projects’ Django settings.
INSTALLED_APPS = ( # ... # None field 'nonefield', # ... )
Usage
forms.py
In forms you could use it as follows:
from django import forms
from nonefield.fields import NoneField
class MyForm(forms.Form):
name = forms.CharField(max_length=255)
some_text = NoneField(initial='Lorem ipsum')
See this snippet as an example of how to allow to use paragraphs in the django-forms-builder.
serializers.py
You can also use it in Django REST Framework.
from rest_framework import serializers
from nonefield.contrib.drf_integration.fields import NoneField
class ContentTextField(NoneField):
"""Content text field."""
class BarSerializer(serializers.Serializer):
title = serializers.CharField(max_length=256)
text = serializers.CharField()
context_text = ContentTextField(label='', default='Haha')
See how it’s used in django-fobi to allow to use content/presentational elements (text, image, embed video, etc.) in the Django REST Framework schema.
Examples
License
GPL-2.0-only OR LGPL-2.1-or-later
Support
For any issues contact me at the e-mail given in the Author section.