
Research
/Security News
Contagious Interview Campaign Escalates With 67 Malicious npm Packages and New Malware Loader
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.
django-friendship provides an easy extensible interface for following and friendship
This application enables you to create and manage follows, blocks and bi-directional friendships between users. It features:
AUTH_USER_MODEL
.** Django 3.2 since v1.9.1 **
Previously: Django 1.11+ since v1.7.0 (latest release supporting Django 1.10 is v1.6.0)
pip install django-friendship
"friendship"
to INSTALLED_APPS
and run python manage.py migrate
.urlpatterns = [
...
path('friendship/', include('friendship.urls'))
...
]
Note: If you are migrating from django-friendship v1.6.x
, you'll need to rollback your migrations and fake
migration 0002
$ ./manage.py migrate friendship 0001
$ ./manage.py migrate friendship 0002 --fake
If you're migrating from v1.7.x
, you'll likely have to fake 0003
as well:
$ ./manage.py migrate friendship 0003 --fake
django-friendship
provides a free API that gives you several ways to create and manage friendship requests or follows in your views. Add the following at the top of your views.py
:
from django.contrib.auth.models import User
from friendship.models import Friend, Follow, Block
Friend.objects.friends(request.user)
Friend.objects.unread_requests(user=request.user)
Friend.objects.unrejected_requests(user=request.user)
Friend.objects.unrejected_request_count(user=request.user)
Friend.objects.rejected_requests(user=request.user)
Friend.objects.rejected_request_count(user=request.user)
Friend.objects.sent_requests(user=request.user)
Friend.objects.are_friends(request.user, other_user) == True
Follow.objects.followers(request.user)
Follow.objects.following(request.user)
Block.objects.blocked(request.user)
Block.objects.blocking(request.user)
Block.objects.is_blocked(request.user, other_user) == True
other_user = User.objects.get(pk=1)
Friend.objects.add_friend(
request.user, # The sender
other_user, # The recipient
message='Hi! I would like to add you') # This message is optional
from friendship.models import FriendshipRequest
friend_request = FriendshipRequest.objects.get(from_user=request.user, to_user=other_user)
friend_request.accept()
# or friend_request.reject()
request.user
and other_user
, do the following:Friend.objects.remove_friend(request.user, other_user)
Follow.objects.add_follower(request.user, other_user)
Block.objects.add_block(request.user, other_user)
Block.objects.remove_block(request.user, other_user)
You can use django-friendship
tags in your templates. First enter:
{% load friendshiptags %}
Then use any of the following:
{% friends request.user %}
{% followers request.user %}
{% following request.user %}
{% friend_requests request.user %}
{% blockers request.user %}
{% blocking request.user %}
django-friendship
emits the following signals:
Development takes place on GitHub. Bug reports, patches, and fixes are always welcome!
REVSYS can help with your Python, Django, and infrastructure projects. If you have a question about this project, please open a GitHub issue. If you love us and want to keep track of our goings-on, here's where you can find us online:
FAQs
django-friendship provides an easy extensible interface for following and friendship
We found that django-friendship demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.
Security News
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.