У меня есть две одинаковые функции во views, которые выводят разные шаблоны. Хочу использовать одну функцию, но иметь возможность выводить разные шаблоны.
def beats_by_user(request):
u = User.objects.get(username=request.user)
pk_list = u.profile.beats_order
pk_list = ast.literal_eval(pk_list)
objects = Post.objects.filter(user_beat_id__in=pk_list, author=u)
objects = dict([(obj.user_beat_id, obj) for obj in objects])
beats = [objects[user_beat_id] for user_beat_id in pk_list]
return render(request, 'blog/beat_list.html', {'beats': beats})
def user_profile(request):
u = User.objects.get(username=request.user)
pk_list = u.profile.beats_order
pk_list = ast.literal_eval(pk_list)
objects = Post.objects.filter(user_beat_id__in=pk_list, author=u)
objects = dict([(obj.user_beat_id, obj) for obj in objects])
beats = [objects[user_beat_id] for user_beat_id in pk_list]
return render(request, 'blog/user_main_profile.html', {'beats': beats})
В urls сейчас так:
url(r'^change-order/$', views.beats_by_user, name='beats'),
url(r'^my-profile/$', views.user_profile, name='beats'),
Можно ли в urls указать одну функцию для разных URLов, но при этом выводить разные шаблоны?
url(r'^change-order/$', views.user_profile, name='beats', template='тут имя шаблона'),
url(r'^my-profile/$', views.user_profile, name='beats', template='тут имя другого шаблона'),
Или подскажите, может есть другой вариант не повторять одно и то же во views