Привет Джангонаутс,
Как у всех сегодня, я новичок в Django, поэтому, пожалуйста, простите любые глупые ошибки в логике или коде. У меня есть пользователь, User_Profile и модель сообщений. Я хочу дать пользователю значки за количество постов пользователя постов. Например, если пользователь публикует 3 сообщения, он / она получает значок для начинающего и т. Д. ...
Ниже находится мой профиль пользователя models.py
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
profile_image = models.ImageField(default='', blank=True, null=True)
badge_image = models.ImageField(default='', blank=True, null=True)#maybe default can be "static/images/beginner_image.jpg" but it does not work
сообщений models.py
User = get_user_model()
class Post(models.Model):
user = models.ForeignKey(User, related_name='posts')
title = models.CharField(max_length=250, unique=True)
slug = models.SlugField(allow_unicode=True, unique=True)
message = models.TextField()
Теперь я хочу добиться чего-то вроде этого:
user = User.objects.get(username=request.user.username)
if user.posts.count >= 3 :
badge_image = '<img src="some image">'# I don't know how to make a image variable in views and models. I know how to use it in Django templates with {{image.url}}
elif user.posts.count >= 20 :
badge_image = '<img src="some image">'
else:
badge_image ='<img src="beginner_image">'
Где я могу написать этот код в моделях, в представлениях? Прошу прощения, если мои вопросы слишком просты. Ни у одного из изученных мною проектов не было аналогичного сценария