Nikolino
@Nikolino

Можно ли указывать template_name в urls.py?

У меня есть две одинаковые функции во 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
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы