Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/justinmayer/django-autoslug
AutoSlugField for Django. Supports (but not does not require) unidecode/pytils for transliteration. Old issue tracker is at Bitbucket: https://bitbucket.org/neithere/django-autoslug/issues
https://github.com/justinmayer/django-autoslug
Last synced: 13 days ago
JSON representation
AutoSlugField for Django. Supports (but not does not require) unidecode/pytils for transliteration. Old issue tracker is at Bitbucket: https://bitbucket.org/neithere/django-autoslug/issues
- Host: GitHub
- URL: https://github.com/justinmayer/django-autoslug
- Owner: justinmayer
- License: lgpl-3.0
- Created: 2015-10-11T02:13:00.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-10-20T17:07:08.000Z (about 1 year ago)
- Last Synced: 2024-05-17T11:02:12.414Z (6 months ago)
- Language: Python
- Homepage: https://readthedocs.org/projects/django-autoslug/
- Size: 281 KB
- Stars: 289
- Watchers: 8
- Forks: 108
- Open Issues: 23
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- Contributing: CONTRIBUTING.rst
- Funding: .github/FUNDING.yml
- License: COPYING.LESSER
- Authors: AUTHORS.rst
Awesome Lists containing this project
- stars - justinmayer/django-autoslug - AutoSlugField for Django. Supports (but not does not require) unidecode/pytils for transliteration. Old issue tracker is at Bitbucket: https://bitbucket.org/neithere/django-autoslug/issues (Python)
- stars - justinmayer/django-autoslug - AutoSlugField for Django. Supports (but not does not require) unidecode/pytils for transliteration. Old issue tracker is at Bitbucket: https://bitbucket.org/neithere/django-autoslug/issues (Python)
README
django-autoslug
~~~~~~~~~~~~~~~.. image:: https://img.shields.io/github/actions/workflow/status/justinmayer/django-autoslug/main.yml?branch=master
:target: https://github.com/justinmayer/django-autoslug/actions.. image:: https://img.shields.io/pypi/format/django-autoslug.svg
:target: https://pypi.python.org/pypi/django-autoslug.. image:: https://img.shields.io/pypi/status/django-autoslug.svg
:target: https://pypi.python.org/pypi/django-autoslug.. image:: https://img.shields.io/pypi/v/django-autoslug.svg
:target: https://pypi.python.org/pypi/django-autoslug.. image:: https://img.shields.io/pypi/pyversions/django-autoslug.svg
:target: https://pypi.python.org/pypi/django-autoslug.. image:: https://img.shields.io/pypi/dd/django-autoslug.svg
:target: https://pypi.python.org/pypi/django-autoslug.. image:: https://readthedocs.org/projects/django-autoslug/badge/?version=latest
:target: https://django-autoslug.readthedocs.io/en/latest/Django-autoslug is a reusable Django library that provides an improved
slug field which can automatically:a) populate itself from another field,
b) preserve uniqueness of the value and
c) use custom ``slugify()`` functions for better i18n.The field is highly configurable.
Requirements
------------*Python 3.8+ or PyPy*.
*Django 3.2* or higher.
It may be possible to successfully use django-autoslug in other environments
but they are not tested... note::
PyPy3 is not officially supported only because there were some problems with
permissions and ``__pycache__`` on CI unrelated to django-autoslug itself.Installation
------------.. code-block:: python
python -m pip install django-autoslug
Examples
--------A simple example:
.. code-block:: python
from django.db.models import CharField, Model
from autoslug import AutoSlugFieldclass Article(Model):
title = CharField(max_length=200)
slug = AutoSlugField(populate_from='title')More complex example:
.. code-block:: python
from django.db.models import CharField, DateField, ForeignKey, Model
from django.contrib.auth.models import User
from autoslug import AutoSlugFieldclass Article(Model):
title = CharField(max_length=200)
pub_date = DateField(auto_now_add=True)
author = ForeignKey(User)
slug = AutoSlugField(populate_from=lambda instance: instance.title,
unique_with=['author__name', 'pub_date__month'],
slugify=lambda value: value.replace(' ','-'))Documentation
-------------See the `complete documentation `_
on ReadTheDocs. It is built automatically for the latest version.Community
---------This application is maintained by Justin Mayer. It was initially created by
Andy Mikhailenko and then improved by other developers. They are listed in
``AUTHORS.rst``.Please feel free to file issues and/or submit patches.
See ``CONTRIBUTING.rst`` for hints related to the preferred workflow.
Licensing
---------Django-autoslug is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 3 of the
License, or (at your option) any later version.Django-autoslug is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.You should have received a copy of the GNU Lesser General Public
License along with this program; see the file COPYING.LESSER. If not,
see `GNU licenses `_.