django tag input field using tagify.js
Project description
django-tagify2
django tag input field
Credits
js,css code uses tagify
Requirements
python3+
django 2.0+ (maybe 1.x)
Documentation
Installation
download
pip install django-tagify2
or
pip install --index-url https://pypi.org/simple/ django-tagify2
Add ‘tagify’ application to the INSTALLED_APPS
INSTALLED_APPS = [
...
'tagify',
]
Make sure APP_DIRS is True in TEMPLATES
TEMPLATES = [
...
'APP_DIRS': True,
...
]
Usage
Quick Start
The form class
Building a form in Django like this:
from django import forms
from tagify.fields import TagField
class TagForm(forms.Form):
languages = TagField(label='languages', place_holder='add a language', delimiters=' ',
data_list=['Python', 'Java', 'PHP', 'Golang', 'JavaScript'], initial='Python Golang')
# or
def random_number():
return [random.randint(10, 19), random.randint(10, 19), random.randint(10, 19), random.randint(10, 19), ]
class NumberForm(forms.Form):
number = TagField(label='number', place_holder='add a number', delimiters=' ',
data_list=random_number)
# or
class TagForm(forms.Form):
languages = TagField(label='languages', place_holder='add a language', delimiters=' ', )
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['languages'].set_tag_args('data_list', get_languages())
The view
To handle the form we need to instantiate it in the view for the URL where we want it to be published:
from django.http import HttpResponse
from django.shortcuts import render
from example.forms import TagForm
def index(request):
if request.method == 'POST':
form = TagForm(request.POST)
if form.is_valid():
return HttpResponse(str(form.cleaned_data['languages']))
else:
form = TagForm()
return render(request, 'index.html', {'form': form})
The template
The simplest example is:
<head>
{{ form.media }}
</head>
<body>
<form action="" method="post">
{% csrf_token %}
{{ form }}
<br>
<input type="submit" value="OK">
</form>
</body>
Using With Model
```python from django.db import models
from tagify.models import TagField
class People(models.Model): name = models.Cha
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
Built Distribution
File details
Details for the file django-tagify2-1.0.19.tar.gz
.
File metadata
- Download URL: django-tagify2-1.0.19.tar.gz
- Upload date:
- Size: 39.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e099cf4f33cdc6ca9b9064999adde93e6f4051f849e9ca794a9738a5f57b6049 |
|
MD5 | b8c3baafcddd199fa53bfef4414992c7 |
|
BLAKE2b-256 | ceb85be69f954a3d81637dad208656c49d2af4c3161afb704ff0c35be1f44742 |
File details
Details for the file django_tagify2-1.0.19-py3-none-any.whl
.
File metadata
- Download URL: django_tagify2-1.0.19-py3-none-any.whl
- Upload date:
- Size: 41.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 439d40ffbfae2556beebd96ac8c6ac5e336d929e0f811c736489713c2b7b8b92 |
|
MD5 | 415b0673c07733768fcdfda5c333bfbc |
|
BLAKE2b-256 | 3a3f275a3d3562185fc19a050a5d00508125bf54737455ea93d96425ac7570c7 |