내 장고 프로젝트에서 등록 기능을 추가해야합니다. 문제는 등록 프로세스에서 어디서나 'userprofile'을 사용할 수 없다는 것입니다. 내 사용자는 '이름', '성'및 기타 데이터로 정의됩니다. 이것을 달성하는 방법? contrib.auth와 '등록'을 활성화하는 것 외에도 '사용자'응용 프로그램을 만들었습니다. user.models에는 추가 필드가있는 확장 된 사용자 모델이 있습니다. 내 프로젝트에 대한django-auth에서 'username'생성을 피하는 방법
def custom_register(request, success_url=None,
form_class=ExtendedRegistrationForm, profile_callback=None,
template_name='registration/registration_form.html',
extra_context=None):
def _create_profile(user):
p = UserProfile(user=user)
p.is_active = False
p.first_name = first_name
p.last_name = last_name
p.save()
return register(request,
success_url="/accounts/register/complete",
form_class=ExtendedRegistrationForm,
profile_callback=_create_profile,
template_name='registration/registration_form.html',
extra_context=extra_context,
)
또한 내가 무시 한 등록 URL을 : 나는 정의 레지스터보기를 user.views에서
class ExtendedRegistrationForm(RegistrationForm):
first_name = forms.CharField(
label="First name",
error_messages={'required': 'Please fill the first name field'},
)
last_name = forms.CharField(
label="Last name",
error_messages={'required': 'Please fill the last name field'},
)
def save(self, profile_callback=None):
user = super(ExtendedRegistrationForm, self).save()
user.first_name = self.cleaned_data['first_name']
user.last_name = self.cleaned_data['last_name']
user.save()
: user.forms에서 나는 확장 된 등록 양식을 만들었습니다
url(r'^accounts/password/reset/$',
auth_views.password_reset, { 'post_reset_redirect' : '/',
'email_template_name' : 'accounts/password_reset_email.html' },
name='auth_password_reset',),
url(r'^accounts/password/reset/confirm/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$',
auth_views.password_reset_confirm, { 'post_reset_redirect' : '/accounts/login/'},
name='auth_password_reset_confirm'),
url(r'^accounts/password/reset/complete/$',
auth_views.password_reset_complete,
name='auth_password_reset_complete'),
url(r'^accounts/password/reset/done/$',
auth_views.password_reset_done,
name='auth_password_reset_done'),
url(r'^accounts/register/$',
'user.views.custom_register',
name='registration_register'),
(r'^accounts/', include('registration.urls')),
그래서 나는 '사용자 이름'을 없애고 시작하는 좋은 기반을 가지고 있습니까? 나는 username을 first_name (같은 이름을 가진 많은 사용자)으로 취급하거나 장고가 불평 할 수 있습니까?
로그인 프로세스/권한 부여에서 사용자 이름을 제거해야한다는 의미입니까? –