代码之家  ›  专栏  ›  技术社区  ›  PhoebeB

Django让变量广泛可用的选项

  •  5
  • PhoebeB  · 技术社区  · 16 年前

    tasks = Task.objects.filter(project = current_project)
    

    当前工程 ??)已设置。

    装饰师:

    def check4project(fn):
    
        current_project = 'fred'
        def check(*args, **kw):
            kw['project']=current_project
            return fn(*args, **kw)
        return check
    

    @login_required
    @check4project
    @tweetpost
    def index(request, project=0):
    
        print project
    
    3 回复  |  直到 16 年前
        1
  •  4
  •   Ned Batchelder    16 年前

    这一切都取决于你对“当前项目”的语义。以下是一些可能性:

    1. 这可能是用户的一个特征:他访问自己的个人资料页面并设置一个当前项目。这将存储在数据库中,您可以使用ORM访问它。

    从你的描述来看,2号或3号似乎最适合你,这取决于你的观点在关心子项目和不关心子项目之间的划分。

        2
  •  1
  •   Skylar Saveland    16 年前

    您可以创建一个context_processor,然后从请求对象中获取值。

        3
  •  0
  •   c_harm    16 年前
    推荐文章