在视图中导入代码。姜戈

Posted

技术标签:

【中文标题】在视图中导入代码。姜戈【英文标题】:Import code inside a view. Django 【发布时间】:2012-11-26 15:14:33 【问题描述】:

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

           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/

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

【问题讨论】:

个人,我创建了一个模型的方法或创建了一个名为myapp/defs.py 的文件,我在其中编写了我的方法。 【参考方案1】:

这是最简单的方法之一:

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)

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

【讨论】:

【参考方案2】:

这正是context processor 的用途。

【讨论】:

以上是关于在视图中导入代码。姜戈的主要内容,如果未能解决你的问题,请参考以下文章

你能优化这段代码吗? (姜戈,蟒蛇)

如何将参数从我的表单操作传递到视图?姜戈

姜戈。查询。用引号转义字符串错误

姜戈。如何从多个复选框中获取值

将项目添加到愿望清单 |姜戈

姜戈 |如何与两个模型建立反向关系