Skip to main content

DjangoCMS HTML Meta tags for OpenGraph.

Project description

DjangoCMS Meta OG

HTML Meta tags OpenGraph for DjangoCMS. The project is based on the Django Meta OG project.

Install

pip install djangocms-meta-og

Add into settings.py:

from django.utils.translation import gettext_lazy as _
import sysconfig

INSTALLED_APPS = [
    "django_meta_og",
    "djangocms_meta_og",
    ...
]

TEMPLATES  = [
    {"OPTIONS": {
            "context_processors": [
                "djangocms_meta_og.context_processors.meta",
                ...
            ]
        }
    }
]

# Path to css and js used in admin form.
STATICFILES_DIRS = [
    os.path.join(sysconfig.get_paths()["purelib"], "djangocms_meta_og")
]

For js translations add into site urls.py:

from django.views.i18n import JavaScriptCatalog

urlpatterns = [
    ...
] + i18n_patterns(
    path('jsi18n/djangocms-meta-og/', JavaScriptCatalog.as_view(packages=['djangocms_meta_og']),
         name='jsi18n_djangocms_meta_og'),
    ...
)

Add into the templates:

{% load djangocms_meta_og %}
{% djangocms_meta_og_prefix as og_prefix %}
<head{% if og_prefix %} prefix="{{ og_prefix }}"{% endif %}>
    {% include "django_meta_og/header_meta.html" %}

The result can be:

<head prefix="og: https://ogp.me/ns#">
    <meta property="og:type" content="website" />
    <meta property="og:title" content="The Title" />
    <meta property="og:url" content="https%3A%2F%2Fexample.com%2F" />
    ...
</head>

Prefix for Meta tags in template

Some Meta tags may already be defined in the template. Their prefix is ​​included in the prefix list via the definition in settings:

# Example of tag definition already used in the templates.
META_OG_PREFIX_IN_TEMLATES = (
    ("og", "https://ogp.me/ns#"),
    ("article", "https://ogp.me/ns/article#"),
)

Dynamic content

Special values ​​can be replaced with some content. A list of these values ​​is provided in the form in the item administration.

# Dynamic content - Key replacement for specific content.
PAGE_META_OG_DYNAMIC_CONTENT = {
    "ogc:page_url": (
        "django_meta_og.dynamic_content.get_page_url",
        _("Set the page absolute URL (together with parameters)."),
    ),
    "ogc:current_page_url": (
        "djangocms_meta_og.dynamic_content.get_current_page_url",
        _("Set the page absolute URL."),
    ),
    "ogc:current_page_title": (
        "djangocms_meta_og.dynamic_content.get_current_page_title",
        _("Set the page title."),
    ),
    "ogc:current_page_description": (
        "djangocms_meta_og.dynamic_content.get_current_page_description",
        _("Set the page description."),
    ),
    "ogc:filer_image_url": (
        "djangocms_meta_og.dynamic_content.get_filer_image_url",
        _("Set image URL by Filer ID. For example: ogc:filer_image_url(42)"),
    ),
}

Edit form

In addition to administration, editing META values ​​is also available from the page menu.

Page Meta OG menu

Page Meta OG menu form

Admininstration

You can enter any Meta values. These are entered in four levels - Namespace, Property, Content and PageMetaOg. For this reason, a text form is set up for the META value, in which all these parts are combined in one edit in a text field.

Page Meta OG form

If you want to return to the default editing via select boxes, activate the switch in settings.py:

META_OG_USE_DEFAULT_PAGE_FORM = True

Page Meta OG default form

Namespace

Namespace list

Namespace form

Property

Property list

Property form

Content

Content list

Content form

Page Meta OG

Page Meta OG list

Page Meta OG form

License

BSD License

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

djangocms_meta_og-2.0.1.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

djangocms_meta_og-2.0.1-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file djangocms_meta_og-2.0.1.tar.gz.

File metadata

  • Download URL: djangocms_meta_og-2.0.1.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for djangocms_meta_og-2.0.1.tar.gz
Algorithm Hash digest
SHA256 0a40538008cede0181fb19dcf1749207763c5105e7dbc001ff082da007a1942f
MD5 f3615a1c9d24946d4adba1d86e7e9a60
BLAKE2b-256 461e6dc225976c66cf07c114a5485f450a2230671eb6afa154bceba1ac82f68a

See more details on using hashes here.

File details

Details for the file djangocms_meta_og-2.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for djangocms_meta_og-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e182c07d14c1f87269d511a644f28aea32e1b9add1641ea0e4befcfcc36e787
MD5 54eac121551046729037046cd967a893
BLAKE2b-256 ff5a0208f0bad184e6e151db209e2e16f4f5341b76235b54343e9f612b15c587

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page