У меня есть следующие потребности:
У меня есть данные о спортивных ставках на моем веб-сайте, и мне нужно отображать их в разных форматах в зависимости от местоположения пользователя.
Я говорю о формате шансов, что-то вроде этого (это то же значение):
десятичное число: 2,00 (для европейцев)
американец: +100 (для американцев)
Я реализовал функцию, которая выглядит примерно так и работает хорошо:
def check_ip_and_set_initial_odds_format(request):
country = get_country(get_client_ip2(request))['country_name']
if country == 'United States' and 'odds_format' not in request.session:
request.session['odds_format'] = 'American'
return request.session
По сути, идея заключается в том, что если пользователь посещает мой веб-сайт в первый раз, odds_format устанавливается автоматически, и веб-сайт уже предоставляет правильный формат шансов.
Мой вопрос: могу ли я реализовать это так, чтобы независимо от того, с какой страницей пользователь взаимодействовал в первый раз, для odds_format было установлено правильное значение? На данный момент я реализовал это на домашней странице, но если кто-то попадет на мой сайт на другой странице, шансы не будут отображаться правильно.
Я знаю, что мог бы просто вызывать функцию во всех своих представлениях, но я думал о чем-то более умном, например, об изменении базового класса View?
Если это правильный подход, как бы я достиг этого?
Спасибо!