首页 > 解决方案 > 在 Django 中替换视图类的视图函数

问题描述

我想为一个类替换我的视图函数。我是 Django 的新手,我尝试将service对象从user一个函数发送到另一个函数,但我不能用in来metrics做到这一点。我也不知道如何调用一个类而不是一个函数< a href="{% url 'metrics' %}">Metrics</a>home.html

我的代码:

def user(request):
    username = request.POST.get('username')
    password = request.POST.get('password')
    service = Service()
    service.start(username=username, password=password)
    return render(
        request, 'home.html',
        {
            'service': service,
        }
    )
def metrics(request, service):
    metrics = service.get_metrics()
    return render(request, 'metrics.html',
    {
        'metrics', metrics
    }

我想要的代码或类似的东西:

class User(object):
    def __init__(
        self
    ):
        super(User, self).__init__()
        self.usernme = ''
        self.password = ''
        self.service = ''

    def get_service(self, request):
        self.username = request.POST.get('username')
        self.password = request.POST.get('password')
        self.service = Service()
        self.service.start(username=self.username, password=self.password)
        return render(
            request, 'home.html', {}
        )

    def metrics(self, request):
        metrics = self.service.get_metrics()
        return render(
            request, 'metrics.html',
            {
                'metrics': metrics,
            }
        )

标签: pythondjango

解决方案


推荐阅读