如何以及在何处调用基于 Class 的视图 Django 中的方法
How and where to call a method in a Class based view Django
作为新闻年决议的一部分,我向自己保证我会学习编写 Class 基于视图,但事实证明,我需要一些帮助..
我想做的是调用一个生成随机数的方法,然后在页面加载之前发送一封电子邮件,我很乐意这样做(我可能会使用 celery 在后台发送邮件)。
我不明白的是如何以及在何处调用方法 random_code() 和 send_email()(见下文)?
我是否通过覆盖 setup()、dispatch() 或 get() 等来执行此操作?
有人可以给我一个基本的例子吗?
class 看起来像这样:
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
,那么在 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
def get(self, request, *args, **kwargs):
...
self.random_code()
self.send_email()
return super().get(request, *args, **kwargs)
在 post()
中以类似的方式为 POST
方法。
另一件事是您可以直接使用 Django
发送电子邮件。我这样做,这很简单。 Check this DOCS。如果你有什么问题,你可以 post 另一个问题。
作为新闻年决议的一部分,我向自己保证我会学习编写 Class 基于视图,但事实证明,我需要一些帮助..
我想做的是调用一个生成随机数的方法,然后在页面加载之前发送一封电子邮件,我很乐意这样做(我可能会使用 celery 在后台发送邮件)。
我不明白的是如何以及在何处调用方法 random_code() 和 send_email()(见下文)?
我是否通过覆盖 setup()、dispatch() 或 get() 等来执行此操作?
有人可以给我一个基本的例子吗?
class 看起来像这样:
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
,那么在 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
def get(self, request, *args, **kwargs):
...
self.random_code()
self.send_email()
return super().get(request, *args, **kwargs)
在 post()
中以类似的方式为 POST
方法。
另一件事是您可以直接使用 Django
发送电子邮件。我这样做,这很简单。 Check this DOCS。如果你有什么问题,你可以 post 另一个问题。