Ребята, я хочу создать логику для Django в шаблоне, где только подписанные пользователи могут получить доступ к сообщению в блоге. я попытался использовать только_для подписчиков логическое поле и группу user.followers, чтобы публикация была доступна только подписчикам.
class Post(models.Model):
title = models.CharField(max_length=250)
slug = models.SlugField(max_length=250, unique=True,default=None)
created = models.DateField(auto_now_add = True)
author = models.ForeignKey(User, related_name='uploaded_by')
published = models.BooleanField(default=True)
only_for_subscribers = models.BooleanField(default = False)
@login_required
def ArticleDetailView(request,slug):
post = get_object_or_404(Post, slug=slug)
return render(request, 'blog/post_detail.html', {'post': post,})
class Contact(models.Model):
user_from = models.ForeignKey(User,related_name='rel_from_set')
user_to = models.ForeignKey(User, related_name='rel_to_set')
created = models.DateTimeField(auto_now_add=True, db_index=True)
class Meta:
ordering = ('-created',)
def __str__(self):
return '{} follows {}'.format(self.user_from, self.user_to)
User.add_to_class('following', models.ManyToManyField('self', through=Contact, related_name='followers', symmetrical=False))
{% if request.user not in user.followers.all and post.only_for_
subscribers %}
Please subscribe
{% else %}
<div>
{{post.title}}
</div>
{% endif %}