我的观点中有一个功能.我想在其他一些应用程序中使用此功能.有没有办法shop_id全局声明这个变量().
if "current_shop" in request.session:
shop_id = request.session['current_shop']
elif request.user.is_superuser:
shop_id = 1
else:
shop_id = 2
Run Code Online (Sandbox Code Playgroud)
使它成为你的观点使用的功能; 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
Run Code Online (Sandbox Code Playgroud)
并在您的意见:
shop_id = get_shop_id(request)
Run Code Online (Sandbox Code Playgroud)
如果你把它放在一个单独的模块中; 比如说utils.py,你可以用以下方法导入它:
from projectname.utils import get_shop_id
Run Code Online (Sandbox Code Playgroud)
或使用相对导入:
from .utils import get_shop_id
Run Code Online (Sandbox Code Playgroud)
提供utils.py与您的观点相同的包装.