Django:如何在django-registration中使用不同的form_class

时间:2010-07-08 15:32:22

标签: django django-forms

我希望django-registration (version 0.8)使用我的自定义表单而不是默认表单。但是,我想继续使用默认的django-registration视图。下面的其余部分应该如何实现这一目标?

(r'^accounts/register'...),

我在下面尝试了这个但是语法错误:

(r'^accounts/register/$', 
         'registration.views.register', 
         {'form_class': 'MyRegistrationForm'}, name='registration_register'),

当我在下面尝试这个时,我得到register()至少需要2个非关键字参数(给定1个)

(r'^accounts/register/$',      
    'registration.views.register',             
    {'form_class':'MyRegistrationForm'}),

1 个答案:

答案 0 :(得分:2)

查看views.register函数,

def register(request, backend, success_url=None, form_class=None,
             disallowed_url='registration_disallowed',
             template_name='registration/registration_form.html',
             extra_context=None):

你可以看到backend是必需的参数。请尝试以下方法:

url(r'^accounts/register/$', 
         'registration.views.register', 
         {'form_class': MyRegistrationForm,
          'backend':'registration.backends.default.DefaultBackend'},
         name='registration_register'),

请注意,如果您想为自己的网址命名,则需要使用url(r'^...)