===========
django-meta
|Gitter| |PyPiVersion| |PyVersion| |GAStatus| |TestCoverage| |CodeClimate| |License|
Django-Meta is a pluggable Django app that allows developers to easily add meta tags and OpenGraph,
Twitter, and Schema.org properties to their HTML responses.
By adding these tags to their pages, developers can improve the way their pages are displayed in search engine results and on social media platforms.
.. warning:: INCOMPATIBLE CHANGE: as of version 2.0 django-meta has no
longer supports Google+, basic Schema.org support has been introduced.
.. contents::
Installation
See https://django-meta.readthedocs.io/en/latest/installation.html
Supported versions
Django
4.2 to 5.2 (newer versions might work but are not tested yet)
Python
Python 3.9 to 3.13
Supported Meta Tags
Django-Meta supports a wide range of meta tags, including:
- Description
- Keywords
- Robots
- Author
- Google Analytics
- Open Graph (OG) tags
- Twitter Cards
- Schema.org properties
To add meta tags to your pages using Django-Meta, you can use the provided template tags or use the view-method and model-method interface to provide and handle meta information.
Basic concept
django-meta
provides a view-method and model-method interface to provide and handle meta informations
For more details check documentation
_.
Configuration for Non-HTML Responses
By default, Django-Meta is designed to work with HTML responses.
However, it can also be configured to work with non-HTML responses, such as JSON or XML.
To do this, you can define your own meta classes and register them with the django-meta app.
Authors and Contributors
django-meta
has been started by Branko Vukelic
_.
Current maintainer: Iacopo Spalletti
_
See AUTHORS
file for the complete list of contributors
Apps using django-meta / extensions
See third_party_apps
_
Reporting bugs
Please report all bugs to our Github issue tracker
_.
.. _OpenGraph: http://opengraphprotocol.org/
.. _issue tracker: https://github.com/nephila/django-meta/issues/
.. _github: https://github.com/nephila/django-meta/
.. _Iacopo Spalletti: https://github.com/yakky
.. _documentation: https://django-meta.readthedocs.io/en/latest/
.. _third_party_apps: https://django-meta.readthedocs.io/en/latest/#apps-using-django-meta-extensions
.. _Branko Vukelic: https://bitbucket.org/monwara
.. |Gitter| image:: https://img.shields.io/badge/GITTER-join%20chat-brightgreen.svg?style=flat-square
:target: https://gitter.im/nephila/applications
:alt: Join the Gitter chat
.. |PyPiVersion| image:: https://img.shields.io/pypi/v/django-meta.svg?style=flat-square
:target: https://pypi.python.org/pypi/django-meta
:alt: Latest PyPI version
.. |PyVersion| image:: https://img.shields.io/pypi/pyversions/django-meta.svg?style=flat-square
:target: https://pypi.python.org/pypi/django-meta
:alt: Python versions
.. |GAStatus| image:: https://github.com/nephila/django-meta/workflows/Tox%20tests/badge.svg
:target: https://github.com/nephila/django-meta
:alt: Latest CI build status
.. |TestCoverage| image:: https://img.shields.io/coveralls/nephila/django-meta/master.svg?style=flat-square
:target: https://coveralls.io/r/nephila/django-meta?branch=master
:alt: Test coverage
.. |License| image:: https://img.shields.io/github/license/nephila/django-meta.svg?style=flat-square
:target: https://pypi.python.org/pypi/django-meta/
:alt: License
.. |CodeClimate| image:: https://codeclimate.com/github/nephila/django-meta/badges/gpa.svg?style=flat-square
:target: https://codeclimate.com/github/nephila/django-meta
:alt: Code Climate
.. :changelog:
History
.. towncrier release notes start
2.5.0 (2025-04-18)
Features
- Add support for Django 5.2 and python 3.12 and 3.13, remove support for Django 3.2 (#216)
Bugfixes
- Fix docs build (#213)
- Bump Github actions/cache tag version (#222)
2.4.2 (2024-02-05)
Features
- Add uz translations (#198)
2.4.1 (2023-12-13)
Features
- Remove useless "else" statements. (#182)
- Switch to Coveralls Github action (#188)
Bugfixes
- Refactor FullUrlMixin get_domain to handle django.contrib.sites not in INSTALLED_APPS (#192)
2.4.0 (2023-09-25)
Features
- Add schema.org support (#76)
- Refactor settings to make override_settings in tests more consistent (#167)
- Migrate to bump-my-version (#173)
2.3.0 (2023-08-10)
Bugfixes
- Fix schemaorg_description not being in Meta class (#127)
- Fix schema.org protocol to be https (#152)
- Fix request set order in Meta.init (#155)
2.2.0 (2023-04-18)
Features
- Move to ruff (#138)
- Add support for Django 4.2 (#144)
2.1.0 (2022-07-28)
Bugfixes
- Changes imports from ugettext_lazy to gettext_lazy to fix deprecation warning (#130)
- Get correct setting META_USE_SITES in build_absolute_uri model method (#133)
- Update tox environments and github actions (#135)
2.0.0 (2020-11-14)
Features
- Drop Python 2 (#118)
- Drop Django<2.2 (#118)
- Add Django 3.1 (#118)
- Update tooling (#118)
- Port to github-actions (#118)
- Remove G+ support - Replace with Schema.org (#108)
- Add support for image object (#114)
Bugfixes
- Switch request handling to thread locals (#115)
1.7.0 (2020-07-07)
- Fixed support for secure_url
- Normalized twitter_card / twitter_type attributes
1.6.1 (2020-01-16)
- Added explicit dependency on six
- Added python 3.8
1.6.0 (2019-12-22)
- Added Django 3.0 support
- Moved to django-app-helper
- Improved documentation regarding extra / custom props
1.5.2 (2019-07-02)
- Added image size for facebook sharing
1.5.1 (2019-04-11)
- Fixed error if the property referenced in _metadata returns False
1.5.0 (2019-03-23)
- Added support for Django 2.1 and 2.2
- Added support for Python 3.7
- Dropped support for Django < 1.11
- Dropped support for Python 3.4
- Fixed support for og:image:secure_url
- Fixed minor documentation error
- Added support for service-specific titles
1.4.1 (2018-01-21)
- Added Django 2.0 support
- Fixed RTD builds
- Fixed MetadataMixin.use_use_title_tag typo
- Add request to Meta arguments
1.4.0 (2017-08-12)
- Add Django 1.11 support
- Drop python 2.6/ Django<1.8
- Wrap meta.html content in spaceless templatetag to suppress redundant newlines
- Fix issue in Django 1.10
1.3.2 (2016-10-26)
- Fix error if custom_meta_extras is empty
- Fix twitter properties
- Fix error with META_DEFAULT_IMAGE path
1.3.1 (2016-08-01)
- Add support for G+ publisher tag
1.3 (2016-06-06)
- Added support for fb_pages attribute
- Properly implement META_DEFAULT_IMAGE for view-based mixins
- Fixed error in facebook_prop templatetag
- Removed dependency of sites framework
1.2 (2016-04-09)
- Fix issue when emulating sekizai
1.1 (2016-04-08)
- Sekizai is not required anymore
1.0 (2016-03-29)
- Merge with django-meta-mixin
- Reorganized documentation
- Remove deprecated
make_full_url
method
- Add _retrieve_data interface for generic attribute data generation
0.3.2 (2016-02-09)
- Use autoescape off in template for Django 1.9
0.3.1 (2015-06-27)
0.3.0 (2015-06-27)
- Add support for more twitter attributes
- Add support for more facebook attributes
- Official support for Django 1.4->1.8
- Official support for Python 2.6, 2.7, 3.2, 3.3, 3.4
0.2.1 (2014-12-15)
- Add support for more attributes
- Add templatetag to handle generic attributes
0.2.0 (2014-05-28)
- Code cleanup
- Change maintainership information
- Official Python 3 support
0.1.0 (2014-01-20)
- Support for Twitter meta data (leifdenby)
- Fixes to OpenGraph tags (leifdenby)
- Support Google Plus tags (Iacopo Spalletti)
0.0.3 (2013-11-12)
- Keywords are now order-preserving
- Keywords are no longer a set(), but a normal list
0.0.2 (2013-04-12)
- Fixed keywords not being included in metadata
- Fixed get_meta_class not being used in the mixin
0.0.1 (2013-04-04)