Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ricardochaves/django_ogp
A more dynamic way to register Open Graph protocol
https://github.com/ricardochaves/django_ogp
django open-graph-protocol
Last synced: 5 days ago
JSON representation
A more dynamic way to register Open Graph protocol
- Host: GitHub
- URL: https://github.com/ricardochaves/django_ogp
- Owner: ricardochaves
- License: mit
- Created: 2018-10-03T22:19:06.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-12-20T20:12:12.000Z (almost 3 years ago)
- Last Synced: 2024-10-08T17:08:27.426Z (about 1 month ago)
- Topics: django, open-graph-protocol
- Language: Python
- Size: 57.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# django_ogp
[![Build Status](https://travis-ci.org/ricardochaves/django_ogp.svg?branch=master)](https://travis-ci.org/ricardochaves/django_ogp) [![Coverage Status](https://coveralls.io/repos/github/ricardochaves/django_ogp/badge.svg)](https://coveralls.io/github/ricardochaves/django_ogp) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/3a1363cd34274377942b34418ed2b00a)](https://app.codacy.com/app/ricardochaves/django_ogp?utm_source=github.com&utm_medium=referral&utm_content=ricardochaves/django_ogp&utm_campaign=Badge_Grade_Dashboard) [![Maintainability](https://api.codeclimate.com/v1/badges/a2af8f7a30ad3bee2cac/maintainability)](https://codeclimate.com/github/ricardochaves/django_ogp/maintainability) [![Updates](https://pyup.io/repos/github/ricardochaves/django_ogp/shield.svg)](https://pyup.io/repos/github/ricardochaves/django_ogp/) [![Python 3](https://pyup.io/repos/github/ricardochaves/django_ogp/python-3-shield.svg)](https://pyup.io/repos/github/ricardochaves/django_ogp/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) [![Packagist](https://img.shields.io/packagist/l/doctrine/orm.svg)](https://github.com/ricardochaves/django_ogp/blob/master/LICENSE) [![PyPI version](https://badge.fury.io/py/django-ogp.svg)](https://badge.fury.io/py/django-ogp) [![Downloads](https://pepy.tech/badge/django-ogp)](https://pepy.tech/project/django-ogp) [![Downloads](https://pepy.tech/badge/django-ogp/month)](https://pepy.tech/project/django-ogp) [![Downloads](https://pepy.tech/badge/django-ogp/week)](https://pepy.tech/project/django-ogp) [![Say Thanks!](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/ricardochaves)
A more dynamic way to register Open Graph protocol
## Why
This app is made to facilitate the SEO of *OnePage* sites. With it you will have an administrative ready to register the metas or if you prefer to include a dictionary in your `settings.py` with the values that must be loaded.
If there is a dictionary in the settings it will not use the database and you can hide the users' [OPG](http://ogp.me/) registration by the access level of the user/group.
Now you can create [OGPs](http://ogp.me/) in an easy way.
## Suported
The test matrix guarantees coverage for:
- pythos2·7 : Django 1.8
- pythos2·7 : Django 1.11
- pythos3·4 : Django 1.8
- pythos3·4 : Django 1.9
- pythos3·4 : Django 1.11
- pythos3·5 : Django 1.8
- pythos3·5 : Django 1.9
- pythos3·5 : Django 1.11
- pythos3·5 : Django 2.0
- pythos3·5 : Django 2.1
- pythos3·6 : Django 1.8
- pythos3·6 : Django 1.9
- pythos3·6 : Django 1.11
- pythos3·6 : Django 2.0
- pythos3·6 : Django 2.1
- pythos3·7 : Django 1.8
- pythos3·7 : Django 1.9
- pythos3·7 : Django 1.11
- pythos3·7 : Django 2.0
- pythos3·7 : Django 2.1## Install
```bash
pip install django_opg
```Add `django_opg` in `INSTALLED_APPS`:
```python
INSTALLED_APPS = [
...
"django_opg",
...
]
```Execute:
```bash
python manage.py migrate
```## Usage
Import `{% load ogp %}` and add `{% show_ogp %}`in your `` tag
### Settings
You can include the metas straight into your settings. The app currently supports the following data:
```json
OGP = {
"og_title": "Ricardo Baltazar Chaves | Site",
"og_type": "website",
"og_description": "My personal site.",
"og_url": "https://www.ricardobaltazar.com/",
"locales": [{"og_locale_alternate": "en_US"}, {"og_locale_alternate": "pt_BR"}],
"images": [
{
"og_image": "https://www.ricardobaltazar.com/static/principal/images/profilepic-new.ac1b7deb01a8.jpg",
"og_image_url": "https://www.ricardobaltazar.com/static/principal/images/profilepic-new.ac1b7deb01a8.jpg",
"og_image_type": "image/jpeg",
"og_image_width": 100,
"og_image_height": 200,
"og_image_alt": "The Ricardo image",
},
{
"og_image": "https://www.ricardobaltazar.com/media/palestra_eventos/IMG_20170811_195143268.jpg.430x360_q85_box-679%2C0%2C3479%2C2340_crop_detail.jpg",
"og_image_url": "https://www.ricardobaltazar.com/media/palestra_eventos/IMG_20170811_195143268.jpg.430x360_q85_box-679%2C0%2C3479%2C2340_crop_detail.jpg",
"og_image_type": "image/jpeg",
"og_image_width": 300,
"og_image_height": 400,
"og_image_alt": "Ricardo Speech SEO",
},
],
}
```### DataBase
If there is no `OGP` key in the settings, the application will fetch the data in the database.
The `BasicMeta` model is selected with `first()`, so only one record can exist to prevent data from being selected.