Этот код сейчас работает на моем проекте.
Кажется, у меня была проблема с моим состоянием БД.
Я пытаюсь добавить некоторые автоматические теги SEO в экземпляры модели.
Мне удалось добавить seo-тег в качестве встроенных в мои экземпляры модели, чтобы я мог редактировать> отдельные данные для каждого экземпляра моей модели.
Что мне действительно нужно, так это то, что теги seo автоматически генерируются из информации моей модели.
Допустим, моя модель такая:
class Promotion(models.Model):
name = models.CharField("Nombre", max_length=200)
content = models.TextField("Contenido", max_length=2000,blank=False)
А это мой сео класс
from rollyourown import seo
class MyMetadata(seo.Metadata):
title = seo.Tag(head = True, max_length = 68, populate_from = populate_title)
description = seo.MetaTag(head=True,max_length=155)
keywords = seo.KeywordTag()
heading = seo.Tag(name="h1")
class Meta:
verbose_name = "Metadata general"
seo_models =('web.Promotion',)
и я определил метод populate_title как:
def populate_title(metadata, model_instance = None, **kwargs):
if model_instance:
return "PROMOCION %s" % model_instance.name
else:
return 'error'
Теперь я могу отобразить теги SEO из моего шаблона:
{% load seo %}
{% get_metadata BeldemiPromotionMetadata for promotion %}