繁体   English   中英

"在基于类的视图 Django 中如何以及在何处调用方法"

[英]How and where to call a method in a Class based view Django

作为新闻年决议的一部分,我向自己承诺,我将学习编写基于类的视图,但事实证明,我需要一些帮助。

我想要做的是调用一个生成随机数的方法,然后在页面加载之前发送一封电子邮件,我很乐意这样做(我可能会使用芹菜在后台发送邮件)。

我不明白的是如何以及在哪里调用方法 random_code() 和 send_email() (见下文)?

我是否通过覆盖 setup()、dispatch() 或 get() 等来做到这一点?

有人可以给我一个基本的例子吗?

该类将如下所示:

class VerifyCode(FormView):

    template_name = "account/verify.html"
    form_class = VerifyForm

    def random_code(self):
        #random_code generator
        return random_code

    def send_email(self):
        #code to send email

这取决于您要调用哪个 REST 方法。 如果您使用的是简单的GET<\/code> ,则在get()<\/code>中调用它,如下所示:

class VerifyCode(FormView):

    template_name = "account/verify.html"
    form_class = VerifyForm

    def random_code(self):
        #random_code generator
        return random_code

    def send_email(self):
        #code to send email

    def get(self, request, *args, **kwargs):
        ...
        self.random_code()
        self.send_email()
        return super().get(request, *args, **kwargs)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM