В Django 1.8, я был в состоянии сделать следующее с моими сигналами, и все было хорошо:Используйте сигналы в Django 1.9
__init__.py:
from .signals import *
сигналы .py:
@receiver(pre_save, sender=Comment)
def process_hashtags(sender, instance, **kwargs):
html = []
for word in instance.hashtag_field.value_to_string(instance).split():
if word.startswith('#'):
word = render_to_string('hashtags/_link.html',
{'hashtag': word.lower()[1:]})
html.append(word)
instance.hashtag_enabled_text = ' '.join(html)
В Django 1.9, я получаю эту ошибку: django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
Я знаю, что это происходит от __init__.py
, но знает ли кто-нибудь об этом? Я предполагаю, может быть, положить его в модели? Если да, может кто-нибудь, пожалуйста, покажите мне, как это сделать?
models.py:
class Comment(HashtagMixin, TimeStampedModel):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
text = models.TextField(max_length=240)
hashtag_enabled_text = models.TextField(blank=True)
hashtag_text_field = 'text'
objects = CommentManager()
class Meta:
app_label = 'comments'
def __unicode__(self):
return self.text
Спасибо заранее!