1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/gojuukaze-django-ktag

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Django-tagify2

GitHub version License: GPL v3

Поле ввода тегов django с использованием tagify.

alt tag

Требования:

  • Python 3+;
  • Django 2.0+ (возможно, 1.x).

Документация:

  • Установка;
  • Использование:
    • Быстрый старт;
    • Использование с моделью администратора;
  • Аргументы поля;
  • Пример.

Установка:

  • Скачайте пакет:
pip install django-tagify2
или
pip install --index-url https://pypi.org/simple/ django-tagify2 
  • Добавьте приложение «tagify» в INSTALLED_APPS:
INSTALLED_APPS = [
    ...
    'tagify',
]
  • Убедитесь, что APP_DIRS имеет значение True в TEMPLATES:
TEMPLATES = [
    ...
    'APP_DIRS': True,
                ...
]

Использование:

Быстрый старт

Класс формы:

Создайте форму в Django следующим образом:

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')


# или
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)


# или
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())

Представление:

Чтобы обработать форму, необходимо создать её экземпляр в представлении для URL, где она должна быть опубликована:

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})

Шаблон:

Самый простой пример:


<head>
    {{ form.media }}
</head>
<body>
  <form action="" method="post">
      {% csrf_token %}
      {{ form }}
      <br>
      <input type="submit" value="OK">
  </form>
</body>

## Использование с моделью


```python
from django.db import models

from tagify.models import TagField


class People(models.Model):
    name = models.CharField(max_length=30)
    languages = TagField(verbose_name='languages')

Аргументы поля:

Имя Тип По умолчанию Описание
place_holder строка "" заполнитель
delimiters строка "," разделение тегов любым из этих разделителей. Пример: пробел или запятая - ", "
data_list список/функция [] массив тегов, которые разрешены
black_list список [] массив тегов, которые запрещены
max_tags int None максимальное количество тегов
suggestions_chars int 1 минимальное количество символов для ввода, которое показывает список предложений
pattern строка "" проверка ввода по шаблону RegEx. Например: "[1-9]"

http://127.0.0.1:8000

http://127.0.0.1:8000/number

http://127.0.0.1:8000/admin/example/people/

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Поле ввода тегов Django, используйте Tagify. Развернуть Свернуть
GPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/gojuukaze-django-ktag.git
git@api.gitlife.ru:oschina-mirror/gojuukaze-django-ktag.git
oschina-mirror
gojuukaze-django-ktag
gojuukaze-django-ktag
master