2014-01-31 107 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