2012-10-07 28 views
1

我在看起來很簡單的想法中遇到了一些麻煩。在Django中查看推送到表單

我有一個叫register的視圖。我希望該視圖能夠將用戶帶到我創建的註冊表單中。

def register(request): 
    form = register() 
    data = {} 
    data.update(csrf(request)) 
    data.update({ 'form' : form }) 
    return render_to_response("register.html", data) 


class register(forms.Form): 
    rsb_first_name = forms.CharField(max_length = 25, required = True) 
    rsb_last_name = forms.CharField(max_length = 25, required = True) 
    rsb_company_name = forms.CharField(max_length = 25) 
    rsb_address1 = forms.CharField(max_length = 50, required = True) 
    rsb_address2 = forms.CharField(max_length = 50) 
    rsb_city = forms.CharField(max_length = 50, required = True) 
    rsb_zip_code = forms.CharField(max_length = 25, required = True) 
    rsb_phone_number = USPhoneNumberField(label = "Phone", widget = USPhoneNumberMultiWidget(), required = True) 
    rsb_email = forms.EmailField(required = True) 

當我去/register/我收到以下錯誤:

register() takes exactly 1 argument (0 given) 

是期待它有什麼說法?

EDIT1:

感謝eakron我能看到我是有什麼問題 - 現在我完全有另一個問題。

因此,我將我的視圖更名爲registerUser,更改了urls.py文件以反映這一點,並將我的表單更改爲RegisterForm

現在我的觀點很簡單:

def registerUser(request): 
    form = RegisterForm() 
    data = {} 
    data.update(csrf(request)) 
    data.update({ 'form' : form }) 
    return render_to_response("register.html", data) 

我收到以下錯誤:

Could not import rsb.views.registerUser. View does not exist in module rsb.views. 

的思考?

+0

哪條線的錯誤指什麼? –

+0

真的不能說現在有什麼問題。你確定所有的東西都能正確地重新裝入也許這應該是一個新的問題,但? –

+0

這是一個新問題 - http://stackoverflow.com/questions/12771815/view-does-not-exist-in-module-when-it-does – Rico

回答

4

您的命名引起了衝突。 Python不知道你的意思是註冊類還是註冊函數,而函數是「最接近」的。重命名一個(或者用大寫字母開始這個類的名字,無論如何這都是規範)。

例如,將其更改爲

class Register(forms.Form)