2012-04-24 43 views
-1

我是Django的新手,希望在下面的一段代码中得到澄清,我在views.py中看到了代码,并想知道它是如何工作的。一般在视图中,我打电话给我与变量HMTL THADjango views单表单处理

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='[email protected]', 
    redirect_url='/signups/thanks/', 
    do_captcha=True) 

回答

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类。

+1

它是程序中定义的函数。感谢您的输入 – user1050619 2012-04-24 14:11:15