Skip to main content

django tag input field using tagify.js

Project description

django-tagify2

GitHub version License: GPL v3

django tag input field

alt tag

alt tag

Credits

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-tagify2-1.0.19.tar.gz (39.8 kB view details)

Uploaded Source

Built Distribution

django_tagify2-1.0.19-py3-none-any.whl (41.1 kB view details)

Uploaded Python 3

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

Hashes for django-tagify2-1.0.19.tar.gz
Algorithm Hash digest
SHA256 e099cf4f33cdc6ca9b9064999adde93e6f4051f849e9ca794a9738a5f57b6049
MD5 b8c3baafcddd199fa53bfef4414992c7
BLAKE2b-256 ceb85be69f954a3d81637dad208656c49d2af4c3161afb704ff0c35be1f44742

See more details on using hashes here.

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

Hashes for django_tagify2-1.0.19-py3-none-any.whl
Algorithm Hash digest
SHA256 439d40ffbfae2556beebd96ac8c6ac5e336d929e0f811c736489713c2b7b8b92
MD5 415b0673c07733768fcdfda5c333bfbc
BLAKE2b-256 3a3f275a3d3562185fc19a050a5d00508125bf54737455ea93d96425ac7570c7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page