Django基于类的视图,一旦用户登陆页面,就将request.session设置为某个值

时间:2019-04-26 20:36:15

标签: django session django-class-based-views

我有以下需求:

我的网站上有一些体育博彩数据,我需要根据用户的位置以不同的格式显示它们。 我说的是赔率格式,像这样(它的值相同): 小数: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基类? 如果这是正确的方法,我将如何实现?

谢谢!

0 个答案:

没有答案