2012-04-24 73 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