django-seo присвоение данных по умолчанию для экземпляров модели - PullRequest
0 голосов
/ 24 января 2012

Этот код сейчас работает на моем проекте. Кажется, у меня была проблема с моим состоянием БД.

Я пытаюсь добавить некоторые автоматические теги 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 %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...