0

我有简单的代码,我想在我的每个视图中导入:

           form = DocumentForm()
           user= request.user
           test1 = request.session.get('test1')
           ....
           context += {'form': form, 'test1':test1 ...}

我想知道是否有一种简单的方法可以做到这一点。我看到了文档:https ://docs.djangoproject.com/en/1.2/ref/generic-views/

但我不确定它是如何工作的。谢谢您的帮助。

4

2 回答 2

0

这正是上下文处理器的用途。

于 2012-11-26T19:42:23.720 回答
0

这将是最简单的方法之一:

def run_this_in_every_view(request) :
    form = DocumentForm()
    user= request.user
    test1 = request.session.get('test1')
    ....
    return {'form': form, 'test1':test1 ...}

def my_view(request) :
    context = {}

    ...

    context += run_this_in_every_view(request)
    return render_to_response('template.html', context)

基于类的视图可能是更好的方法。这个问题有一个很好的答案:Django 中的类视图

于 2012-11-26T15:37:34.117 回答