Skip to main content

An automated slug field for Django.

Project description

django-autoslug
~~~~~~~~~~~~~~~

.. image:: https://img.shields.io/travis/iplweb/django-autoslug.svg
:target: https://travis-ci.org/iplweb/django-autoslug-iplweb

.. image:: https://img.shields.io/pypi/format/django-autoslug-iplweb.svg
:target: https://pypi-hypernode.com/pypi/django-autoslug-iplweb

.. image:: https://img.shields.io/pypi/status/django-autoslug-iplweb.svg
:target: https://pypi-hypernode.com/pypi/django-autoslug-iplweb

.. image:: https://img.shields.io/pypi/v/django-autoslug-iplweb.svg
:target: https://pypi-hypernode.com/pypi/django-autoslug-iplweb

.. image:: https://img.shields.io/pypi/pyversions/django-autoslug-iplweb.svg
:target: https://pypi-hypernode.com/pypi/django-autoslug-iplweb

.. image:: https://readthedocs.org/projects/django-autoslug-iplweb/badge/?version=latest
:target: http://django-autoslug-iplweb.readthedocs.org/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 2.7, 3.5, 3.6

*Django 1.7.10* 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.

Examples
--------

A simple example:

.. code-block:: python

from django.db.models import CharField, Model
from autoslug import AutoSlugField

class 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 AutoSlugField

class 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 <http://django-autoslug.readthedocs.org>`_
on ReadTheDocs. It is built automatically for the latest version.

Community
---------

This application 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 <http://gnu.org/licenses/>`_.

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-autoslug-iplweb-1.9.4.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

django_autoslug_iplweb-1.9.4-py2.py3-none-any.whl (11.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-autoslug-iplweb-1.9.4.tar.gz.

File metadata

File hashes

Hashes for django-autoslug-iplweb-1.9.4.tar.gz
Algorithm Hash digest
SHA256 6ddec119072067e78cbdb53f7ba11ae8bee5a2f2f0fe1d90c6a4d3c0a91489d3
MD5 fad8a57c2c875397df8c3f7144f04377
BLAKE2b-256 e6beb4b9261bae94d3e6dc83ac98a7a7727f6ebebffd86083087b197977ccf50

See more details on using hashes here.

File details

Details for the file django_autoslug_iplweb-1.9.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_autoslug_iplweb-1.9.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8a3ba49b18f082e29ac9cb17884d4b2149ad14988bd89e118b1c5ddf94fdea8e
MD5 e1fbcd650fd14f4a3b512233a9ec9423
BLAKE2b-256 14e3ad18151ba40c3160581e42ed77fb578b7978cb7b698d281addca7e75cc4f

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