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/>`_.
~~~~~~~~~~~~~~~
.. 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
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
File details
Details for the file django-autoslug-iplweb-1.9.4.tar.gz
.
File metadata
- Download URL: django-autoslug-iplweb-1.9.4.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ddec119072067e78cbdb53f7ba11ae8bee5a2f2f0fe1d90c6a4d3c0a91489d3 |
|
MD5 | fad8a57c2c875397df8c3f7144f04377 |
|
BLAKE2b-256 | e6beb4b9261bae94d3e6dc83ac98a7a7727f6ebebffd86083087b197977ccf50 |
File details
Details for the file django_autoslug_iplweb-1.9.4-py2.py3-none-any.whl
.
File metadata
- Download URL: django_autoslug_iplweb-1.9.4-py2.py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a3ba49b18f082e29ac9cb17884d4b2149ad14988bd89e118b1c5ddf94fdea8e |
|
MD5 | e1fbcd650fd14f4a3b512233a9ec9423 |
|
BLAKE2b-256 | 14e3ad18151ba40c3160581e42ed77fb578b7978cb7b698d281addca7e75cc4f |