MU
3 ноября 2019 г. 1:22
Django follow unfollow
Hi,
I try to solve my problem. I have follow and unfollow button on profile page, and on this page button works but I need to create this button on other pages. My problem is to filter when user is in target or not.
On profile page I have code:
- {% if profile_user.followed %}
- <a href="{% url 'unfollow' profile_user.id %}" class="btn btn-danger-gradiant btn-rounded letter-spacing-1" id="follow">Przestań obserwować</a>
- {% else %}
- <a href="{% url 'follow' profile_user.id %}" class="btn btn-danger-gradiant btn-rounded letter-spacing-1" id="follow">Obserwuj</a>
- {% endif %}
In views this looks like that:
- def profile(request, username):
- '''
- Shows the users profile
- '''
- enricher = Enrich(request.user)
- profile_user = get_object_or_404(User, username=username)
- feed = feed_manager.get_user_feed(profile_user.id)
- activities = feed.get(limit=25)['results']
- context = {}
- do_i_follow_users(request.user, [profile_user])
- context['profile_user'] = profile_user
- context['activities'] = enricher.enrich_activities(activities)
- response = render(request, 'auth/user_detail.html', context)
- return response
This filter come from function "do_i_follow_users" as you can see in views. But how to take user in other situation like this:
- def goalcomments(request, slug):
- goal = get_object_or_404(Goal, slug=slug)
- comments = goal.goalcomment.filter(active=True)
- if request.method == 'POST':
- form = CommentGoal(data=request.POST)
- if form.is_valid():
- goal_comment = form.save(commit=False)
- goal_comment.author = request.user
- goal_comment.goal = goal
- goal_comment.save()
- else:
- form = CommentGoal()
- return render(request, 'goals/comments.html',
- {'goal': goal,
- 'comments': comments,
- 'form': form})
I don't know how to add this function "do_i_follow_users(request.user, [profile_user])" on view "commentgoal".
My Follow model is:
- class Follow(Activity, models.Model):
- user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='following_set')
- target = models.ForeignKey(User, on_delete=models.CASCADE, related_name='follower_set')
- created_at = models.DateTimeField(auto_now_add=True)
- deleted_at = models.DateTimeField(blank=True, null=True)
I must check if comment author is in target. Maybe someone help me.
2
100
Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Последние комментарии
- AK1 апреля 2025 г. 11:41Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VP9 марта 2025 г. 16:14Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМ22 ноября 2024 г. 21:51Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Сейчас обсуждают на форуме
- МА1 апреля 2025 г. 16:210ff763fe-4e50-455d-a3a6-5699c243b1a5_17_44_22_1.xml
- f15 февраля 2025 г. 13:46Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
Hello,
Can you show source of do_i_follow_users function. I some misunderstand mechanism of this function. This function only check following relation, or create following relations ?
And I want suggest you to usi django-friendship battery. It is ready django-app for follow/unfollow relations, and for friendship relations.
Ok :)
This is this function:
I use django getstream.io to create feed etc. I send signal after user click follow or unfollow to getstream. My follow and unfollow views:
If you want check, is request.user in following users, then I think you can use custom template filter tag.
For example I have user_in filter
using
I think you can create something else like this
and use it
Thank you! For me work that:
and this templatetag: