{ "info": { "author": "Oleg Kleschunov", "author_email": "igorkleschunov@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.11", "Framework :: Django :: 2.0", "Framework :: Django :: 2.1", "Framework :: Django :: 2.2", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "============================\ndjango-ok-seo |PyPI version|\n============================\n\n|Build Status| |Code Health| |Coverage| |Requirements Status| |Python Versions| |PyPI downloads| |license|\n|Project Status|\n\nThis app allows you to add meta tags and OpenGraph properties to your HTML responses.\n\nInstallation\n============\n\nInstall with pip:\n\n.. code:: shell\n\n $ pip install django-ok-seo\n\nUpdate INSTALLED_APPS:\n\n.. code:: python\n\n INSTALLED_APPS = [\n ...\n 'seo',\n 'modeltranslation', # optional\n 'django_jinja', # optional for jinja2 global function\n ...\n ]\n\nMake migrations\n\n.. code:: shell\n\n $ python manage.py migrate\n\n\nIf you want to make ``seo models`` translatable, you need to install `django-modeltranslation`_ package. After that run:\n\n.. code:: shell\n\n $ python manage.py makemigrations\n $ python manage.py migrate\n\nto create new fields in `seo models` for each language.\n\n\nFeatures\n========\n\nThere are two options of usage:\n\n1) ``UrlSeo`` - a model to fetch seo data by an url.\n\n2) ``ViewSeo`` and ``ModelInstanceSeo`` - models to attach seo data for specific views (using choices) and objects (using \u201cgeneric\u201d relationships). \n\n\nAvailable settings\n==================\n\n``SEO_USE_URL_SEO`` - Flag to use (display in an admin interface) only `UrlSeo` model. `False` by default.\n\n``SEO_USE_URL_FULL_PATH`` - Flag to use a whole path, plus an appended query string, to search `UrlSeo` isntances. `False` by default.\n\n``SEO_VIEWS_CHOICES`` - Tuple of tuples for using with `ViewSeo`. The first value is the value to use in s code and a second is a verbose (translated) value.\n\nFor example:\n\n.. code:: python\n\n SEO_VIEWS_CHOICES = (\n ('index', 'Index'),\n ('faq', 'Faq'),\n )\n\n\n``SEO_MODELS`` - List of models names to limit content type choices for 'ModelInstanceSeo'.\n\nFor example (use lowercase):\n\n.. code:: python\n\n SEO_MODELS = [\n 'article.article',\n 'auth.user'\n ]\n\n\n``SEO_DEFAULT_IMAGE`` - Path to default image, which will be used for 'og:image' property.\n\n``SEO_IMAGE_WIDTH`` - Value of `width` for image. `1200` by default.\n\n``SEO_IMAGE_HEIGHT`` - Value of `height` for image. `630` by default.\n\n``SEO_IMAGE_EXTENSIONS`` - List of allowed image extensions for ImageField in seo model. \n\n``SEO_IMAGE_STORAGE`` - Custom file storage for ImageField in seo model. '`django.core.files.storage.FileSystemStorage`' by default.\n\n``SEO_OBJECT_IMAGE_FIELD`` - A name of field to get image from an object. '`image`' by default.\n\nBy default:\n\n.. code:: python\n \n ['jpg', 'jpeg', 'png']\n\n\n``SEO_OG_TYPES`` - Tuple of tuples of open graph object types.\n\nBy default:\n\n.. code:: python\n\n DEFAULT_OBJECT_TYPES = (\n ('website', pgettext_lazy('OG types', 'Website')),\n ('article', pgettext_lazy('OG types', 'Article'))\n )\n\n\n``SEO_TWITTER_TYPES`` - Tuple of tuples of twitter card types.\n\nBy default:\n\n.. code:: python\n\n DEFAULT_TWITTER_TYPES = (\n ('summary', pgettext_lazy('Twitter card types', 'Summary Card')),\n ('summary_large_image', pgettext_lazy('Twitter card types', 'Summary Card with Large Image')),\n ('player', pgettext_lazy('Twitter card types', 'Player')),\n ('app', pgettext_lazy('Twitter card types', 'App')),\n )\n\n``SEO_FB_APP_ID`` - Common Facebook application id. Also, You can set custom id in facebook_app_id field for each seo instance.\n\n``SEO_HTML_ADMIN_WIDGET`` - Dictionary with default widget for `top_text` and `bottom_text` text fields in django admin interface.\n\n``SEO_DEBUG_MODE`` - Sets debug mode. If ``True`` adds `` to all pages.\n\n``SEO_URL_SEO_SITEMAP_PRIORITY`` - `UrlSeo` sitemap priority. `1` by default.\n\n``SEO_URL_SEO_SITEMAP_CHANGEFREQ`` - `UrlSeo` sitemap changefreq. `always` by default.\n\nFor example:\n\n.. code:: python\n\n SEO_HTML_ADMIN_WIDGET = {\n 'widget': 'TinyMCE',\n 'widget_path': 'tinymce.widgets'\n }\n\n\nBasic example to use:\n=====================\n\nAdmin inline (for `ModelInstanceSeo`):\n--------------------------------------\n\n.. code:: python\n\n # admin.py\n\n from django.contrib import admin\n\n from seo.admin import ModelInstanceSeoInline\n\n from apps.article.models import Article\n\n @admin.register(Article)\n class ArticleAdmin(admin.ModelAdmin):\n inlines = [ModelInstanceSeoInline]\n \n\nViews (examples for all models):\n--------------------------------\n\n.. code:: python\n\n # views.py\n\n from django.views.generic import DetailView, TemplateView\n\n from seo.mixins.views import (\n ViewSeoMixin, \n ModelInstanceViewSeoMixin, \n UrlSeoMixin\n )\n\n from apps.article.models import Article\n\n\n class IndexView(ViewSeoMixin, TemplateView):\n seo_view = 'index'\n template_name = 'index.html'\n\n\n class IndexViewJinja(ViewSeoMixin, TemplateView):\n seo_view = 'index'\n template_name = 'jinja/index.jinja'\n\n\n class ArticleDetailView(ModelInstanceViewSeoMixin, DetailView):\n template_name = 'article.html'\n model = Article\n pk_url_kwarg = 'id'\n\n\n class ArticleDetailViewJinja(ModelInstanceViewSeoMixin, DetailView):\n template_name = 'jinja/article.jinja'\n model = Article\n pk_url_kwarg = 'id'\n\n\n class IndexUrlSeoView(UrlSeoMixin, TemplateView):\n template_name = 'index.html'\n\n\n class ArticleUrlSeoDetailView(UrlSeoMixin, DetailView):\n template_name = 'article.html'\n model = Article\n pk_url_kwarg = 'id'\n\n\nContext processor (for `UrlSeo`):\n---------------------------------\n\n.. code:: python\n\n # ...\n 'seo.context_processors.seo',\n\n\nMiddleware (for `UrlSeo`) to use from `request` variable in tepmlates:\n----------------------------------------------------------------------\n\n.. code:: python\n\n MIDDLEWARE = [\n ...\n\n # seo\n 'seo.middleware.url_seo_middleware'\n ]\n\n\nIn templates:\n\n\n.. code:: html\n\n {% load seo %}\n \n \n {% get_seo_data request.seo %}\n \n\n\nYour templates:\n===============\n\n\\*.html\n-------\n\n.. code:: html\n\n {% load seo %}\n \n \n {% get_seo_data seo %}\n \n\n \n ...\n

{{ seo.h1 }}

\n ...\n
\n {{ seo.seo_text|safe }}\n
\n\n\n\\*.jinja\n--------\n\n.. code:: django\n\n \n \n {{ get_jinja_seo_data(seo) }}\n \n ...\n \n ...\n

{{ seo.h1 }}

\n ...\n
\n {{ seo.seo_text|safe }}\n
\n\n\nInheritance\n===============\n\nYou can inherit your models from `SeoTagsMixin` and override necessary methods to set custom seo data for your objects.\n\n.. code:: python\n\n from django.db import models\n\n from seo.mixins.models import SeoTagsMixin\n\n\n class Article(SeoTagsMixin, models.Model):\n preview = models.ImageField()\n short_description = models.TextField(max_length=1000)\n ...\n\n def get_meta_description(self) -> str:\n \"\"\"\n Return meta description\n \"\"\"\n return self.short_description\n\n def get_meta_image_field(self):\n \"\"\"\n Return image field instance to get image url\n \"\"\"\n return self.preview\n \n\nAnd in a template for your DetailView, you can use:\n\n.. code:: html\n\n \n \n {% get_seo_data object %}\n \n \nwhere object is your default `context_object_name`.\n\nAlso, you can use this way with `ModelInstanceViewSeoMixin` to still use `ModelInstanceSeo`, but get some data from a content object. To reach this goal, you need to override next methods:\n\n.. code:: python\n\n def get_meta_title(self) -> str:\n \"\"\"\n Return meta title\n \"\"\"\n return _('{} < Some super title').format(str(self))\n\n def get_meta_description(self) -> str:\n \"\"\"\n Return meta description\n \"\"\"\n return _(\n '{} \u27a4 Wow! '\n '\u2714 Amazing! '\n '\u2756 Marvelous!'\n ).format(str(self))\n\n def get_h1_title(self) -> str:\n \"\"\"\n Return h1 title\n \"\"\"\n return str(self)\n\nIf you want to get an image from the content object, you may left the image field empty in `ModelInstanceSeo` instance. If your image field has some specific name, you need to define a property with a name `image`. \n\n\nSitemap\n=======\n\n.. code:: python\n\n # sitemaps.py\n\n from seo.sitemaps import UrlSeoSitemap\n\n ...\n\n sitemaps = {\n 'pages': UrlSeoSitemap\n }\n\n\n # urls.py\n\n ...\n from django.contrib.sitemaps import views as sitemap_views\n ...\n\n from somewhere.sitemaps import sitemaps\n\n\n urlpatterns = [\n url(r'^sitemap\\.xml$', sitemap_views.index, {'sitemaps': sitemaps}, name='sitemap'),\n url(r'^sitemap-(?P
\\w+)\\.xml$', sitemap_views.sitemap, {'sitemaps': sitemaps},\n name='django.contrib.sitemaps.views.sitemap'),\n ]\n\n\n\n.. |PyPI version| image:: https://badge.fury.io/py/django-ok-seo.svg\n :target: https://badge.fury.io/py/django-ok-seo\n.. |Build Status| image:: https://travis-ci.org/LowerDeez/ok-seo.svg?branch=master\n :target: https://travis-ci.org/LowerDeez/ok-seo\n :alt: Build status\n.. |Code Health| image:: https://api.codacy.com/project/badge/Grade/e5078569e40d428283d17efa0ebf9d19\n :target: https://www.codacy.com/app/LowerDeez/ok-seo\n :alt: Code health\n.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/django-ok-seo.svg\n :target: https://pypi.org/project/django-ok-seo/\n :alt: Python versions\n.. |license| image:: https://img.shields.io/pypi/l/django-ok-seo.svg\n :alt: Software license\n :target: https://github.com/LowerDeez/ok-seo/blob/master/LICENSE\n.. |PyPI downloads| image:: https://img.shields.io/pypi/dm/django-ok-seo.svg\n :alt: PyPI downloads\n.. |Requirements Status| image:: https://requires.io/github/LowerDeez/ok-seo/requirements.svg?branch=master\n.. |Coverage| image:: https://api.codacy.com/project/badge/Coverage/e5078569e40d428283d17efa0ebf9d19 \n :target: https://www.codacy.com/app/LowerDeez/ok-seo\n :alt: Code coverage\n.. |Project Status| image:: https://img.shields.io/pypi/status/django-ok-seo.svg\n :target: https://pypi.org/project/django-ok-seo/ \n :alt: Project Status\n\n.. _django-modeltranslation: https://github.com/deschler/django-modeltranslation", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/LowerDeez/ok-seo", "keywords": "python,seo,seo-models,meta-tags,django,facebook,opengraph", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-ok-seo", "package_url": "https://pypi.org/project/django-ok-seo/", "platform": "", "project_url": "https://pypi.org/project/django-ok-seo/", "project_urls": { "Homepage": "https://github.com/LowerDeez/ok-seo" }, "release_url": "https://pypi.org/project/django-ok-seo/0.8.2/", "requires_dist": null, "requires_python": "", "summary": "django-ok-seo allows you to add meta tags and OpenGraph properties to your HTML responses.", "version": "0.8.2" }, "last_serial": 5911013, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "414892b132d0dc0e0a628bde420744a8", "sha256": "3448a297372d8bcf9dd589b5bcba6418a93278ac3d8af6be8985180d191fec67" }, "downloads": -1, "filename": "django-ok-seo-0.1.tar.gz", "has_sig": false, "md5_digest": "414892b132d0dc0e0a628bde420744a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10793, "upload_time": "2018-09-25T20:09:45", "url": "https://files.pythonhosted.org/packages/95/e3/841130832b30dd248fb1a5bf198b971d802fad9e5dd38283e43bfd80462d/django-ok-seo-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9b3e894b55c1e6c58e7b9491ec6a2c50", "sha256": "0d013cd344e6e22caac6c390a1c21eaf27a2cae2aaab066f42e84ca76ee8a1fb" }, "downloads": -1, "filename": "django-ok-seo-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9b3e894b55c1e6c58e7b9491ec6a2c50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11435, "upload_time": "2018-10-09T19:32:12", "url": "https://files.pythonhosted.org/packages/27/42/44b702eaeb57791198a3069365ef11b36611b88e477a737184358c11531d/django-ok-seo-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "11d03eada672f55ad2ee7926aa959efd", "sha256": "d0f45894515b06bbbe2f299db57fa085f75ead1a913e6c68371fef2422aaad92" }, "downloads": -1, "filename": "django-ok-seo-0.1.2.tar.gz", "has_sig": false, "md5_digest": "11d03eada672f55ad2ee7926aa959efd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11418, "upload_time": "2018-10-13T11:30:37", "url": "https://files.pythonhosted.org/packages/95/c9/108e189df39e87c5fcfecb3e1e8817db3d7f266eced5927e5ade6fe9790c/django-ok-seo-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "a047d197d0eb6d10c1603abd96a130b5", "sha256": "6c8d9aefd39d65df04141d5b00c3b2454202937e2240d41c805027303e867535" }, "downloads": -1, "filename": "django-ok-seo-0.1.3.tar.gz", "has_sig": false, "md5_digest": "a047d197d0eb6d10c1603abd96a130b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12483, "upload_time": "2018-11-26T19:32:00", "url": "https://files.pythonhosted.org/packages/98/17/27a0a77c556497e7ff191b798b9b4e8be8a6e5064f022997f8436b70a820/django-ok-seo-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "bc3f6211298370c1159b4e596251bf6c", "sha256": "3054ce656c8095ecea54b4b988b42dc697cc1b55c645a82eb6dbcfa5a38d53b3" }, "downloads": -1, "filename": "django-ok-seo-0.1.4.tar.gz", "has_sig": false, "md5_digest": "bc3f6211298370c1159b4e596251bf6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12686, "upload_time": "2018-12-05T19:24:03", "url": "https://files.pythonhosted.org/packages/7d/2a/76be1cde88ceab3b7c6fea5dea101999f11b129faccaea17f87248bef8bd/django-ok-seo-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "1c7cfeaab7404bcdcca4c3a1403b41a9", "sha256": "cac4ff2564fbdd662424ffd0ebba87e1b1b2b979d8de913c28c4126bd75c11ad" }, "downloads": -1, "filename": "django-ok-seo-0.1.5.tar.gz", "has_sig": false, "md5_digest": "1c7cfeaab7404bcdcca4c3a1403b41a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12842, "upload_time": "2018-12-06T09:57:03", "url": "https://files.pythonhosted.org/packages/2b/cd/50ccef09bd1981f44b44f9ec9ddfa37fdad37cfb39e73412f42d10c22f1c/django-ok-seo-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "df670e78dce5c6ea1cae99e42829bef8", "sha256": "e3221f1832af5c08b4ce30981e58850ae1a1fd4d7aae5d6f517a5ad91c2bca01" }, "downloads": -1, "filename": "django-ok-seo-0.1.6.tar.gz", "has_sig": false, "md5_digest": "df670e78dce5c6ea1cae99e42829bef8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12899, "upload_time": "2018-12-06T12:27:13", "url": "https://files.pythonhosted.org/packages/1c/2f/a348e6d777b5e3bd0a1182f76544697b2f4c646b24f2d278d5c51ef8176f/django-ok-seo-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "be714d8ace36856fec70045ab8f8080a", "sha256": "1ed81396c0ab7dfdaedeaf722b7032e56fa51fadeec825c1e7a8bcbb67cea88b" }, "downloads": -1, "filename": "django-ok-seo-0.1.7.tar.gz", "has_sig": false, "md5_digest": "be714d8ace36856fec70045ab8f8080a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12933, "upload_time": "2018-12-10T13:08:30", "url": "https://files.pythonhosted.org/packages/50/be/1b3951f90ae6ffe72d7cc3bb12f5179b9db601ad83dad848b3905d1bd48f/django-ok-seo-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "3cb3231fc0341022146102ae819b77b4", "sha256": "35c1e16b36bed5eb3e462561f8ae07ec6d75794c72610cf7f8c9da19cde70716" }, "downloads": -1, "filename": "django-ok-seo-0.1.8.tar.gz", "has_sig": false, "md5_digest": "3cb3231fc0341022146102ae819b77b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14577, "upload_time": "2018-12-25T08:51:53", "url": "https://files.pythonhosted.org/packages/f3/ce/dae5a3d95bcb41aed2236112d520b88d53cd0f4fc0b5468050d6fda4119f/django-ok-seo-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "91bcbe0a901c4ce3cd308492eb81be37", "sha256": "3107257e1bd2ed89fa07bd93c3e5e911a004ada86650a75f931d1ee25e1c9c76" }, "downloads": -1, "filename": "django-ok-seo-0.1.9.tar.gz", "has_sig": false, "md5_digest": "91bcbe0a901c4ce3cd308492eb81be37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15005, "upload_time": "2018-12-28T07:56:10", "url": "https://files.pythonhosted.org/packages/28/93/19358be7e28bd09a105b4e8bcf1120c790ed2b6fbed8c571a45bdd894cbd/django-ok-seo-0.1.9.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "e8f8aecd58263989441ec36af3ca34a3", "sha256": "cf2c0dfe68158f8cb796027abc7e2fcebd8e689dd6c04ac48b126d1ee33f4438" }, "downloads": -1, "filename": "django-ok-seo-0.2.tar.gz", "has_sig": false, "md5_digest": "e8f8aecd58263989441ec36af3ca34a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16590, "upload_time": "2019-01-14T09:35:22", "url": "https://files.pythonhosted.org/packages/a8/78/d1eb82deb648961fd45718ebe001e73393237e416fc1199a3472e91a9f36/django-ok-seo-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "1baaab25efc57e50b422488777d3650b", "sha256": "3acb4891a50d6a7cea5457c0e769479930452afb04c1530537372b71451c1b79" }, "downloads": -1, "filename": "django-ok-seo-0.2.1.tar.gz", "has_sig": false, "md5_digest": "1baaab25efc57e50b422488777d3650b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17090, "upload_time": "2019-01-21T09:41:00", "url": "https://files.pythonhosted.org/packages/e7/99/dcf27696479d039af5265ba8c17f2d6abcb5dbb97677ec6495a88824f3bd/django-ok-seo-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "3e26584ac71ed109ffdd793c97a2f86c", "sha256": "9f0e89b3e77f6ad86351fa7e340e803c9b630ca5d6f27b871a192f10f3fd4853" }, "downloads": -1, "filename": "django-ok-seo-0.2.2.tar.gz", "has_sig": false, "md5_digest": "3e26584ac71ed109ffdd793c97a2f86c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17100, "upload_time": "2019-01-21T09:50:18", "url": "https://files.pythonhosted.org/packages/34/75/48a6deca65d656760e84c6150f8a36636127e83e3d7b2c66fe505cd5ac4d/django-ok-seo-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "51f04d8e5921ac0047ba25ccaa73a877", "sha256": "b8f0da903a7f33150d331978c2e4ee2b06dc98f12c477d23e11d0ec3bcabe7ca" }, "downloads": -1, "filename": "django-ok-seo-0.2.3.tar.gz", "has_sig": false, "md5_digest": "51f04d8e5921ac0047ba25ccaa73a877", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15211, "upload_time": "2019-03-09T18:20:52", "url": "https://files.pythonhosted.org/packages/50/e1/1ad1b7f8dd6c5a11a51b64661103c473333f484f9dcc94703fce5f4c8395/django-ok-seo-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "414432b44dc6995e7eb3531f98559d81", "sha256": "46dfa7b6daac4b97925f3773581ce41b9e296bf93d3b22061d97800c79987081" }, "downloads": -1, "filename": "django-ok-seo-0.2.4.tar.gz", "has_sig": false, "md5_digest": "414432b44dc6995e7eb3531f98559d81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17052, "upload_time": "2019-03-15T09:38:44", "url": "https://files.pythonhosted.org/packages/4b/3a/90f701de56a2cc1087d4d973221b743d10c7f42302bd3361e98a886989af/django-ok-seo-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "c241e884c5f0f5eae37f88a184d5b6ac", "sha256": "88a32c548601a03b84546dcf425809542d432dcfebc6925a1b2feacec90b81a0" }, "downloads": -1, "filename": "django-ok-seo-0.2.5.tar.gz", "has_sig": false, "md5_digest": "c241e884c5f0f5eae37f88a184d5b6ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17361, "upload_time": "2019-03-15T12:18:42", "url": "https://files.pythonhosted.org/packages/ec/b4/cbece9ced13e18737fd7b6eb76818aeb8e6e6e2015827f9aa6a06eb6da2e/django-ok-seo-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "2890166729c9f78606613b38773754de", "sha256": "a49016fad06a4129b5218be30bef72069d29ffb6574c9dce6432d9dbe3e9fcf1" }, "downloads": -1, "filename": "django-ok-seo-0.2.6.tar.gz", "has_sig": false, "md5_digest": "2890166729c9f78606613b38773754de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15497, "upload_time": "2019-03-17T15:23:37", "url": "https://files.pythonhosted.org/packages/3d/32/ec12b488cb4b38cfea535569e0722420a8202d55a3ffcbe7e33d35f44b61/django-ok-seo-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "9dedf3fd74ba3e68e20e73093fac29f6", "sha256": "6126058495b14fa9215813ebfb192fa1b1d7dfa0e0b076e9939db64eb5af787c" }, "downloads": -1, "filename": "django-ok-seo-0.2.7.tar.gz", "has_sig": false, "md5_digest": "9dedf3fd74ba3e68e20e73093fac29f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15553, "upload_time": "2019-03-23T20:31:13", "url": "https://files.pythonhosted.org/packages/7d/a6/6cf183c8470efc25649d49546a83c9986c6dcaa5a4c922bf463b63e1cfe0/django-ok-seo-0.2.7.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "40329a91784f10dd3a37bddf74c2ff18", "sha256": "c70103b1a0cdffcb067e0625f20af1a53b454a3887f7b622322b0efede53213d" }, "downloads": -1, "filename": "django-ok-seo-0.3.tar.gz", "has_sig": false, "md5_digest": "40329a91784f10dd3a37bddf74c2ff18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21214, "upload_time": "2019-05-14T15:02:29", "url": "https://files.pythonhosted.org/packages/22/54/07d9ab9bc161dfebbcfbb5a20f8f85d9103f62407a255541e112a9ad25ad/django-ok-seo-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "4673c0c7be448afc6456d95077db27c1", "sha256": "fefee5672827b7a5d8248d47ea08db37142f4a0e26d07cf71616c12067ae243c" }, "downloads": -1, "filename": "django-ok-seo-0.4.tar.gz", "has_sig": false, "md5_digest": "4673c0c7be448afc6456d95077db27c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21417, "upload_time": "2019-05-15T07:35:40", "url": "https://files.pythonhosted.org/packages/48/a4/5a79ab57f6b07ecf0f27f1e9e388b8d660953431385e538a090a8d677076/django-ok-seo-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "bb561e9c3c909d2c264228e7ab482efe", "sha256": "125e083ff097ab6c75792b5df646cfb437cf8c941776dc47f579a89fdc21db19" }, "downloads": -1, "filename": "django-ok-seo-0.4.1.tar.gz", "has_sig": false, "md5_digest": "bb561e9c3c909d2c264228e7ab482efe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22293, "upload_time": "2019-05-15T12:05:00", "url": "https://files.pythonhosted.org/packages/e9/fe/c04a7deb5278e8702f0efb9787130bb154525d39252241a1719786b13711/django-ok-seo-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "840eca1d19ad3a1dde11acb4b1ef4898", "sha256": "aa5cdfcd60958ce507a450761ae8498c69c243ef36164cee7939b5364ecd74d5" }, "downloads": -1, "filename": "django-ok-seo-0.4.2.tar.gz", "has_sig": false, "md5_digest": "840eca1d19ad3a1dde11acb4b1ef4898", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22314, "upload_time": "2019-05-22T11:52:05", "url": "https://files.pythonhosted.org/packages/bc/41/47c2a8965f19cfa48934e3e1d2426d3c04d452fb0ed160a512e02a1be57c/django-ok-seo-0.4.2.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "ae5494d25a7b32e57b10d83eff612f09", "sha256": "a64d15b596846ec27d0ca4a34658c4f17f9620486f851c5507c812737422658b" }, "downloads": -1, "filename": "django-ok-seo-0.6.tar.gz", "has_sig": false, "md5_digest": "ae5494d25a7b32e57b10d83eff612f09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22449, "upload_time": "2019-05-22T13:04:48", "url": "https://files.pythonhosted.org/packages/2e/aa/ad234b9cdd2bcc55ac864074afa28fcdaf7db1b76ff853cff572d586ea76/django-ok-seo-0.6.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "9cf95be6717d1ba2e1ad057fc5eb23bc", "sha256": "5b3a1373100ef744dbeddc88b516b81b30e5deee135ea7429efde497d4094a80" }, "downloads": -1, "filename": "django-ok-seo-0.6.1.tar.gz", "has_sig": false, "md5_digest": "9cf95be6717d1ba2e1ad057fc5eb23bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23161, "upload_time": "2019-05-24T10:24:36", "url": "https://files.pythonhosted.org/packages/e6/e5/7e65ccdc644cf35f6b61e19a050e359a0410dc83443c0db8f718bf5e1d0d/django-ok-seo-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "9cc79d9dca07b996960c048a4d664c17", "sha256": "982eda31af9d6e523136227f5852b5f273a50d1b8142dfc5e7a6c140bacaca41" }, "downloads": -1, "filename": "django-ok-seo-0.6.2.tar.gz", "has_sig": false, "md5_digest": "9cc79d9dca07b996960c048a4d664c17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23905, "upload_time": "2019-05-24T13:59:36", "url": "https://files.pythonhosted.org/packages/54/a1/68f095a2dfa3a06d912145ac2a4805afa4dcba2700b96d165266484570d0/django-ok-seo-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "e392f5a4e9454df45155bf58c35d6496", "sha256": "33ed1df669ed642520cdf0fb543f07a18887f4368b95ae0229de431807d176bf" }, "downloads": -1, "filename": "django-ok-seo-0.6.3.tar.gz", "has_sig": false, "md5_digest": "e392f5a4e9454df45155bf58c35d6496", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24719, "upload_time": "2019-06-05T14:10:00", "url": "https://files.pythonhosted.org/packages/23/8d/fea521b096d510d86067ad67c46a04f310f5725c09e6160bea85d4b58a10/django-ok-seo-0.6.3.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "c7e2ad47d25877cea9f41b71e71c8946", "sha256": "a9d3e8623c5eb7d88ce9827287c4b4084a15a8e99835c861bbbcaf43e778e2f0" }, "downloads": -1, "filename": "django-ok-seo-0.7.tar.gz", "has_sig": false, "md5_digest": "c7e2ad47d25877cea9f41b71e71c8946", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24280, "upload_time": "2019-06-14T11:48:15", "url": "https://files.pythonhosted.org/packages/f8/b1/4b5acb54629f3d0c2b842f88056900b9671d8a4618172d11b82a85f1fa20/django-ok-seo-0.7.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "32cc8b405068980a3aec903d23640413", "sha256": "c54fea49fe4b6bdcce3e2202c71f6a9a1be45a9e1d439ed874310de25c392119" }, "downloads": -1, "filename": "django-ok-seo-0.7.1.tar.gz", "has_sig": false, "md5_digest": "32cc8b405068980a3aec903d23640413", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24300, "upload_time": "2019-06-14T11:58:19", "url": "https://files.pythonhosted.org/packages/ed/34/c2a9f4e3879f2aa41e899565b2ab85a059a20c7ba74f9f45e809f2697077/django-ok-seo-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "157c9a2d012ebc484956b8d4ddef7237", "sha256": "a74b150cfc7c25a890f7efde0b0887e344ce711a048106bffb69843cff8e1b5e" }, "downloads": -1, "filename": "django-ok-seo-0.7.2.tar.gz", "has_sig": false, "md5_digest": "157c9a2d012ebc484956b8d4ddef7237", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24299, "upload_time": "2019-06-21T06:55:40", "url": "https://files.pythonhosted.org/packages/11/7f/6ef19bc832c47e4d919ad28bc93169fbb1c8e3b523878c6558f177b384b7/django-ok-seo-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "d917e0295db8c732a6ecd3b0ff61f1b5", "sha256": "6c8ac17615126d503a688659c6a0033ec1b6083064f009a751f22e226f2f9411" }, "downloads": -1, "filename": "django-ok-seo-0.7.3.tar.gz", "has_sig": false, "md5_digest": "d917e0295db8c732a6ecd3b0ff61f1b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24884, "upload_time": "2019-06-24T13:56:32", "url": "https://files.pythonhosted.org/packages/c1/9c/c8b2db4d9fb279601f884104f4f7e6a1b69940751c710ddea9a66f95aaf2/django-ok-seo-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "e76711d42bdd6c096df158036de82d5f", "sha256": "f7216b03d3b0335604c12062d10ee0d0ebe10ef034bc46fde0443b630ecceb77" }, "downloads": -1, "filename": "django-ok-seo-0.7.4.tar.gz", "has_sig": false, "md5_digest": "e76711d42bdd6c096df158036de82d5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24901, "upload_time": "2019-06-24T15:09:58", "url": "https://files.pythonhosted.org/packages/0c/e9/299afcb3a2b71dd259616d7a2ff4329f3f318c361b973b074688449af809/django-ok-seo-0.7.4.tar.gz" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "67cad915af8ec3c2d83f302dc7fd408b", "sha256": "bd68c6bf5a75b04cc2e673095c6365fbeaa2c023f6d14192dba962189e2541b5" }, "downloads": -1, "filename": "django-ok-seo-0.7.5.tar.gz", "has_sig": false, "md5_digest": "67cad915af8ec3c2d83f302dc7fd408b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25053, "upload_time": "2019-07-09T14:13:54", "url": "https://files.pythonhosted.org/packages/69/80/e1c55510f1457d4aa023467abc9fe707c4fa3c5cd17edc4eaefac03470a4/django-ok-seo-0.7.5.tar.gz" } ], "0.7.6": [ { "comment_text": "", "digests": { "md5": "2ab6fc0ee49609e51b9716c387661843", "sha256": "9bb986057f048e9dd3e8d27178c3b6110e0b96808780f0ac317a3c887fb1e90c" }, "downloads": -1, "filename": "django-ok-seo-0.7.6.tar.gz", "has_sig": false, "md5_digest": "2ab6fc0ee49609e51b9716c387661843", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25066, "upload_time": "2019-07-10T07:12:58", "url": "https://files.pythonhosted.org/packages/45/e9/35145fb9a694392fff593f21573de4bd701a2db99e70e599596345861da9/django-ok-seo-0.7.6.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "ab66977764dd849cd232c4481452979a", "sha256": "3c2632866b7d12754d07982870bf69fa7a922bd831d173a1b85ec6def4c9a069" }, "downloads": -1, "filename": "django-ok-seo-0.8.tar.gz", "has_sig": false, "md5_digest": "ab66977764dd849cd232c4481452979a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25232, "upload_time": "2019-07-23T11:24:45", "url": "https://files.pythonhosted.org/packages/91/43/c63ddd5c7529b4f7d1c068e8e340d3288634815b261a5ace4ed96ed3d2b2/django-ok-seo-0.8.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "b848121759d9e154deb9f113ad773ce1", "sha256": "47024bb6d5d351a08e9366d017710c9909f87c8e00f9787c3bd9c683d993327e" }, "downloads": -1, "filename": "django-ok-seo-0.8.1.tar.gz", "has_sig": false, "md5_digest": "b848121759d9e154deb9f113ad773ce1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25232, "upload_time": "2019-07-23T11:30:12", "url": "https://files.pythonhosted.org/packages/6c/66/d1549bead1291410ebba12d24615dca67b3c5b20590d925e44d008ab92ed/django-ok-seo-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "dc5c3ac5fba1a565fd04c7b8a58b8172", "sha256": "e65ab5d6a4835321ca8a8bc7d191a5f2a5f4f7185d12eb8f93b1d8e21b38b867" }, "downloads": -1, "filename": "django-ok-seo-0.8.2.tar.gz", "has_sig": false, "md5_digest": "dc5c3ac5fba1a565fd04c7b8a58b8172", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25282, "upload_time": "2019-10-01T08:06:41", "url": "https://files.pythonhosted.org/packages/63/91/66262283038581f3ac7688f43b94cf2bdf73c24029befea54372942279f4/django-ok-seo-0.8.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dc5c3ac5fba1a565fd04c7b8a58b8172", "sha256": "e65ab5d6a4835321ca8a8bc7d191a5f2a5f4f7185d12eb8f93b1d8e21b38b867" }, "downloads": -1, "filename": "django-ok-seo-0.8.2.tar.gz", "has_sig": false, "md5_digest": "dc5c3ac5fba1a565fd04c7b8a58b8172", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25282, "upload_time": "2019-10-01T08:06:41", "url": "https://files.pythonhosted.org/packages/63/91/66262283038581f3ac7688f43b94cf2bdf73c24029befea54372942279f4/django-ok-seo-0.8.2.tar.gz" } ] }