如何引用函数内部的视图?

时间:2016-12-08 16:48:34

标签: python django

我需要在我的所有视图中调用一个函数,该视图将视图作为参数:

def view_1(request):

    def foo():
        return Model.objects.create(user = request.user, view = 'view_1')

    return render(request, myAPP/view_1.html)


def view_2(request):

    def foo():
        return Model.objects.create(user = request.user, view = 'view_2')

    return render(request, myAPP/view_2.html)

    .
    .
    .

def view_N(request):

    def foo():
        return Model.objects.create(user = request.user, view = 'view_N')

    return render(request, myAPP/view_N.html)

有没有办法动态生成视图变量,以便我可以编写一次函数并在每个视图中调用它?

def view_1(request)
    foo()
    return render(request, myAPP/view_1.html)

def view_2(request)
    foo()
    return render(request, myAPP/view_2.html)
    .
    .
    .
def view_N(request)
    foo()
    return render(request, myAPP/view_N.html)

1 个答案:

答案 0 :(得分:0)

为什么不将函数本身作为foo的参数传递?

def foo(view_obj):
        return Model.objects.create(user = request.user, view = view_obj.__name__)

def view_1(request)
    foo(view_1)
    return render(request, myAPP/view_1.html)