Как использовать одну переменную в разных функциях pytho django
Мне нужно список context передать в функцию index.
def profile(request, pk):
user_object = User.objects.get(username=pk)
user_profile = Profile.objects.get(user=user_object)
user_posts = Post.objects.filter(user=pk)
user_post_lenth = len(user_posts)
follower = request.user.username
user = pk
if FollowersCount.objects.filter(follower=follower, user=user).first():
button_text = 'Unfollow'
else:
button_text = 'Follow'
user_followers = len(FollowersCount.objects.filter(user=pk))
user_following = len(FollowersCount.objects.filter(follower=pk))
context
context = {
'user_object': user_object,
'user_profile': user_profile,
'user_posts': user_posts,
'user_post_lenth': user_post_lenth,
'button_text': button_text,
'user_followers': user_followers,
'user_following': user_following,
}
return render(request, 'profile.html', context)
@login_required(login_url='signin')
def index(request):
user_object = User.objects.get(username=request.user.username)
user_profile = Profile.objects.get(user=user_object)
post = Post.objects.all()
return render(request, 'index.html', {'user_profile': user_profile, 'posts':post })
Способы могут быть следующими:
- Сделайте переменную глобальной
- Воспользуйтесь классами
Не очень красивые, но теоретически возможные способы (вредные советы):
- Передавайте переменную в качестве аргумента функции
- Храните значение переменной в файлике