Skip to main content

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

Metadata

Release files for djangocms-meta-og 2.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for djangocms-meta-og 2.0.2
File Size Uploaded
djangocms_meta_og-2.0.2.tar.gz 16.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for djangocms-meta-og 2.0.2
File Interpreter ABI Platform
djangocms_meta_og-2.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 39.1 kB

Release files / djangocms_meta_og-2.0.2.tar.gz

Download URL djangocms_meta_og-2.0.2.tar.gz
Size 16.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1f1c0e0d4154cbdc92f5e8c5951d8a46ffe5c635ae9a12fcc515d99b5b98c303
BLAKE2b-256 checksum
How to use checksums
3f7a57fc6813c67be15b0d998fd15c168c84abe886ce151bd15ad09abe52e951
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.3

Release files / djangocms_meta_og-2.0.2-py3-none-any.whl

Download URL djangocms_meta_og-2.0.2-py3-none-any.whl
Size 22.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8780dc15e5d3205ff03615a23e02461e0506841ab839fd984b496939543c6542
BLAKE2b-256 checksum
How to use checksums
b24ed03d27482dda33e4e20b087a89d31eb7fa9622c400ee556fd9a6dc3f3eb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.3

Release history Release notifications | RSS feed

This release

2.0.2 This release

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page