Я добавил django -meta в свой проект, как указано в документации на GitHub: https://github.com/nephila/django-meta (полные do c находятся в ReadTheDocs: https://django-meta.readthedocs.io/en/latest/
Я попытался активировать только теги META Twitter (для начала). Я скопировал - вставил значения MetaModel по умолчанию из исходного кода django -meta для инициализации переменной экземпляра с именем meta.
в моих настройках , я установил несколько значений, как кажется, django -meta предпочитает получать какое-то значение через настройки (вместо того, чтобы быть установленным в коде). В исходном коде он явно пытается инициализировать себя из настроек . Ниже представлена соответствующая часть моих Django настроек .
# CONFIGURATION for the DJANGO-META project
# ##########################################
META_SITE_PROTOCOL = 'https'
META_SITE_DOMAIN = env('DJANGO_META_SITE_DOMAIN', default='www.intrainingnetwork.com')
# META_USE_SITES = True # WARNING : DO NOT ACTIVATE as it makes the compilation fail.
META_USE_OG_PROPERTIES = False
# All the FB keys
FB_TYPE=''
FB_APPID=''
FB_PROFILE_ID='1111111' # From the default_values
FB_PUBLISHER='@IntTrainingNetwork'
FB_AUTHOR_URL='/fr/'
FB_PAGES='/IntrainingNetwork'
META_FB_PUBLISHER='This is a Test : ({})'.format(FB_PUBLISHER)
USE_TITLE_TAG = True
META_USE_TWITTER_PROPERTIES = True
TWITTER_TYPE=11
TWITTER_SITE=env('DJANGO_META_SITE_DOMAIN', default='www.intrainingnetwork.com')
TWITTER_AUTHOR='International Training Network'
META_USE_GOOGLEPLUS_PROPERTIES = False
# END
В классе шаблона представления я определил переменную экземпляра.
meta = Meta(title = 'title',
og_title = 'og title',
twitter_title = 'twitter title',
gplus_title = 'gplus title',
description = 'get_description',
og_description = 'get_description',
keywords = 'get_keywords',
image = 'get_image_full_url',
image_width = 'get_image_width',
image_height = 'get_image_height',
object_type = 'Article',
og_type = 'Article',
og_profile_id = '1111111111111',
og_publisher = 'https://facebook.com/foo.blag',
og_author_url = 'get_author_url',
twitter_type = 'Summary',
twitter_site = '@FooBlag',
twitter_author = 'get_author_twitter',
gplus_type = 'Article',
gplus_author = 'get_author_gplus',
gplus_publisher = '+FooPub',
published_time = 'date_published',
modified_time = 'get_date',
expiration_time = 'get_date',
url = 'get_full_url',
author = 'get_author_name',
other_prop = 'get_other_prop',
false_prop = 'get_false_prop',
# 'extra_props = {
# 'key = 'val'
# },
# 'extra_custom_props = 'get_custom_props'
)
Я передаю переменную модулю визуализации шаблона
В моем HTML - страница, у меня есть:
<meta charset="utf-8">
<!-- SEO -->
{% include "meta/meta.html" %}
<title>{{ SITE_NAME }} / {{ title }} </title>
<meta name="Author" content="{{ SITE_NAME }}">
<!-- END SEO -->
, но, несмотря на то, что он выполняет НЕКОТОРЫЕ ОТКАЗЫВАНИЯ, есть много кроме ионы в консоли
Exception while resolving variable 'twitter_type' in template 'all/home_generic.html'.
Traceback (most recent call last):
File "/Users/... snip .../site/venv/lib/python3.7/site-packages/django/template/base.py", line 829, in _resolve_lookup
current = current[bit]
TypeError: 'Meta' object is not subscriptable
During handling of the above exception, another exception occur ...
Есть идеи?
\ T,