Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django中获取用户关注的主题?_Python_Django - Fatal编程技术网

Python 在Django中获取用户关注的主题?

Python 在Django中获取用户关注的主题?,python,django,Python,Django,我正在开发一个应用程序,用户可以根据主题获取更新 下面是模型。py from django.contrib.auth.models import User class Topic(models.Model): name = models.CharField(max_length=30, unique=True) description = models.CharField(max_length=300) created_on = models.DateTimeField

我正在开发一个应用程序,用户可以根据主题获取更新

下面是模型。py

from django.contrib.auth.models import User

class Topic(models.Model):
    name = models.CharField(max_length=30, unique=True)
    description = models.CharField(max_length=300)
    created_on = models.DateTimeField(auto_now_add=True)
    created_by = models.ForeignKey(User, related_name='topic')
    def __str__(self):
        return self.name

class Follow(models.Model):
    topic = models.ForeignKey(Topic, related_name='follow')
    user = models.ForeignKey(User, related_name='follow')
def home(req):
    user_id = req.user.id
    follow = Follow.objects.filter(user = req.user).all()
    follow = [f.topic for f in follow]
    question = Question.objects.filter(topic__in=follow).all()
    answer = Answer.objects.filter(ques__in=question).all()
    topic = Topic.objects.all().distinct(name)
    return render(req,'home.html',{'topic':topic,'answer':answer,'upvote':upvote})
视图.py

from django.contrib.auth.models import User

class Topic(models.Model):
    name = models.CharField(max_length=30, unique=True)
    description = models.CharField(max_length=300)
    created_on = models.DateTimeField(auto_now_add=True)
    created_by = models.ForeignKey(User, related_name='topic')
    def __str__(self):
        return self.name

class Follow(models.Model):
    topic = models.ForeignKey(Topic, related_name='follow')
    user = models.ForeignKey(User, related_name='follow')
def home(req):
    user_id = req.user.id
    follow = Follow.objects.filter(user = req.user).all()
    follow = [f.topic for f in follow]
    question = Question.objects.filter(topic__in=follow).all()
    answer = Answer.objects.filter(ques__in=question).all()
    topic = Topic.objects.all().distinct(name)
    return render(req,'home.html',{'topic':topic,'answer':answer,'upvote':upvote})
模板:

            {% for t in topic %}   
                {% for ft in t.follow.all%}
                    {% if ft.user == user %}
                        <h4 id="{{t.pk}}" class="topCls"><span class="badge badge-success">{{t.name}}</span></h4>
                    {% endif %}
                {% endfor %}
            &nbsp;
            {% endfor %}
{%t在主题%}
{t.follow.all%}
{%if ft.user==user%}
{{t.name}}
{%endif%}
{%endfor%}
{%endfor%}
我需要得到绿色的用户关注的主题和红色的其他主题

我可以像上面一样获得用户关注的主题,如何区分关注与否


提前感谢

您可以检查以下列表中的主题是否如下所示:

{% for t in topic %}   
    {% if t in follow  %}
      <h4 id="{{t.pk}}" class="topCls"><span class="badge badge-success">{{t.name}}</span></h4>
    {% else %
      <h4 id="{{t.pk}}" class="topCls"><span class="badge badge-warning">{{t.name}}</span></h4>
    {% endif %}
&nbsp;
{% endfor %}

您可以检查以下列表中的主题是否如下所示:

{% for t in topic %}   
    {% if t in follow  %}
      <h4 id="{{t.pk}}" class="topCls"><span class="badge badge-success">{{t.name}}</span></h4>
    {% else %
      <h4 id="{{t.pk}}" class="topCls"><span class="badge badge-warning">{{t.name}}</span></h4>
    {% endif %}
&nbsp;
{% endfor %}