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.python.org/pypi/django-autoslug-iplweb
.. image:: https://img.shields.io/pypi/status/django-autoslug-iplweb.svg
:target: https://pypi.python.org/pypi/django-autoslug-iplweb
.. image:: https://img.shields.io/pypi/v/django-autoslug-iplweb.svg
:target: https://pypi.python.org/pypi/django-autoslug-iplweb
.. image:: https://img.shields.io/pypi/pyversions/django-autoslug-iplweb.svg
:target: https://pypi.python.org/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/>`_.
~~~~~~~~~~~~~~~
.. 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.python.org/pypi/django-autoslug-iplweb
.. image:: https://img.shields.io/pypi/status/django-autoslug-iplweb.svg
:target: https://pypi.python.org/pypi/django-autoslug-iplweb
.. image:: https://img.shields.io/pypi/v/django-autoslug-iplweb.svg
:target: https://pypi.python.org/pypi/django-autoslug-iplweb
.. image:: https://img.shields.io/pypi/pyversions/django-autoslug-iplweb.svg
:target: https://pypi.python.org/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
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
Close
Hashes for django-autoslug-iplweb-1.9.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ddec119072067e78cbdb53f7ba11ae8bee5a2f2f0fe1d90c6a4d3c0a91489d3 |
|
MD5 | fad8a57c2c875397df8c3f7144f04377 |
|
BLAKE2b-256 | e6beb4b9261bae94d3e6dc83ac98a7a7727f6ebebffd86083087b197977ccf50 |
Close
Hashes for django_autoslug_iplweb-1.9.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a3ba49b18f082e29ac9cb17884d4b2149ad14988bd89e118b1c5ddf94fdea8e |
|
MD5 | e1fbcd650fd14f4a3b512233a9ec9423 |
|
BLAKE2b-256 | 14e3ad18151ba40c3160581e42ed77fb578b7978cb7b698d281addca7e75cc4f |