-1

我是 Django 的新手,想澄清一下下面的代码,我在 views.py 中看到了代码,想知道它是如何工作的。通常在视图中,我用变量 tha 调用我的 hmtl

sfp = SimpleFormProcessing(
    form_class=VolunteerSignupForm,
    form_2_model=volunteersignupform_2_model,
    form_template='signups/create_contact_form.dmpl',
    email_template='signups/response_email.dmpl',
    email_html_template='signups/response_email_html.dmpl',
    email_subject='Vibha Volunteer Signup',
    email_sender='volunteer@vibha.org',
    redirect_url='/signups/thanks/',
    do_captcha=True)
4

1 回答 1

1

我不知道的目的SimpleFormProcessing,但每次你看到

something(....)我们很可能将一些参数传递给函数/类的构造函数。

在这种情况下,我的猜测是它SimpleFormProcessing只是一个包装器(无论是类还是函数,在这里都无关紧要),它处理所有注册过程。

换句话说,它通常是一个包装函数或类(将其视为用户的 API),它接收一堆参数,然后分派作业。

例如,假设它是一个函数。

def SimpleFormProcessing(*args, **kwargs):
  form_class = kwargs.get('form_class', None)
   ...... # get all the parameters from kwargs (a dictionary) .....

  # now let's do something
  add_user_to_volunteer_list(form)
  email_user(email_subject, email_sender....)
  ... and more ....

如果那是一个类(调用类构造函数),那么它可能会使用传入的这些参数分配属性(成员属性)。因此可能会有一些类方法可以稍后调用。

#sfp is now a class object. We might have....
sfp.email_user()
sfp.get_sender()
and etc

当然,您需要找到它SimpleFormProcessing并查看代码。我找不到它作为 Django 的一部分。

它可能是一个具有自定义管理器、中间件等的应用程序?例如,在 Django 中,我们有

RequestContext(request, { 'foo': 'bar', }) 

RequestContext 是一个内置的 Django 类。

于 2012-04-24T01:45:22.720 回答