2014-01-31 81 views
0

我在我看来有一个函数。我想在其他一些应用程序中使用此功能。有什么办法可以在全局声明这个变量(shop_id)。Django全局函数和变量

if "current_shop" in request.session: 
    shop_id = request.session['current_shop'] 
elif request.user.is_superuser: 
    shop_id = 1 
else: 
    shop_id = 2 

回答

5

使其成为您的意见使用功能;从函数返回值shop_id

def get_shop_id(request): 
    if "current_shop" in request.session: 
     return request.session['current_shop'] 

    return 1 if request.user.is_superuser else 2 

,并在您的观点:

shop_id = get_shop_id(request) 

如果你把它放进一个独立的模块;说utils.py,你可以用它导入:

from projectname.utils import get_shop_id 

或使用相对导入:

from .utils import get_shop_id 

在同一个包为您提供意见生命utils.py

+0

是的,把它放在你的应用程序中的一个单独的文件(utils.py?)中,然后你可以从'my_app.utils import get_shop_id' – lalo