def register(request): registered = False if request.method == "POST": form_user = forms.UserForm(data = request.POST) form_por = forms.UserProfileInfoForm(data = request.POST) if form_user.is_valid() and form_por.is_valid(): user = form_user.save() user.set_password(user.password) user.save() profile = form_por.save(commit = False) profile.user = user print(request.FILES) if 'picture' in request.FILES: profile.picture = request.FILES['picture'] profile.save() registered = True else: print(form_user.errors, form_por.errors) else: form_user = forms.UserForm() form_por = forms.UserProfileInfoForm() return render(request, "users/registration.html", {'user_form':form_user,'profile_form': form_por, 'registered': registered})
def login(request): if request.session.get('is_login', None): # 不允许重复登录 return redirect('index') if request.method == 'POST': login_form = forms.UserForm(request.POST) message = '请输入账号和密码!' if login_form.is_valid(): username = login_form.cleaned_data.get('username') password = login_form.cleaned_data.get('password') try: user = models.User.objects.get(name=username) except: message = '用户不存在!' return render(request, 'login.html', locals()) # locals() 函数会以字典类型返回当前位置的全部局部变量 if user.password == password: request.session['is_login'] = True request.session['user_id'] = user.id request.session['user_name'] = user.name request.session['user_power'] = user.power return redirect('index') else: message = '密码不正确!' return render(request, 'login.html', locals()) else: return render(request, 'login.html', locals()) login_form = forms.UserForm() return render(request, 'login.html', locals())
def login(request): """系统登录""" if request.session.get('is_login', None): return redirect('index') if request.method == 'POST': login_form = forms.UserForm(request.POST) message = '请输入账号和密码!' if login_form.is_valid(): username = login_form.cleaned_data.get('username', None) password = login_form.cleaned_data.get('password', None) try: user = User.objects.get(name=username) except: message = '用户不存在!' return render(request, 'login.html', locals()) if user.password == password: request.session['is_login'] = True request.session['user_id'] = user.id request.session['user_name'] = user.name request.session['user_role'] = user.role return redirect('index') else: message = '密码不正确' return render(request, 'login.html', locals()) else: return render(request, 'login.html', locals()) login_form = forms.UserForm() return render(request, 'login.html', locals())
def users(request): form = forms.UserForm() if request.method == 'POST': form = forms.UserForm(request.POST) if form.is_valid(): form.save(commit=True) return index(request) else: return 'Error Validating form' return render(request, 'users/signup.html', context={'form': form})
def formulario(request): form = forms.UserForm() if request.method == 'POST': form = forms.UserForm(request.POST) if form.is_valid(): print('Validation succeeded') print('Name: ' + form.cleaned_data['name']) print('Email: ' + form.cleaned_data['email']) print('Texto: ' + form.cleaned_data['text']) return render(request, 'formulario.html', {'form': form})
def register(request): if request.user.is_authenticated: return redirect('catalog:index') if request.method == 'POST': user_form = forms.UserForm(data=request.POST) user_profile_form = forms.UserProfileForm(data=request.POST) if user_form.is_valid() and user_profile_form.is_valid(): username = user_form.cleaned_data.get('username') messages.success( request, f'Congratulations! You are successfully registered as {username}.' ) user = user_form.save() # Password Hashing user.set_password(user.password) user.save() profile = user_profile_form.save(commit=False) # We need to state one to one relation before saving profile.user = user if 'profile_picture' in request.FILES: profile.profile_picture = request.FILES['profile_picture'] profile.save() return redirect('users:login') else: pass else: user_form = forms.UserForm() user_profile_form = forms.UserProfileForm() return render(request, 'users/register.html', { 'user_form': user_form, 'user_profile_form': user_profile_form })
def signup(request): form = forms.UserForm(request.POST or None) ctx = { 'form': form, } if request.method == 'POST': if form.is_valid(): form.save(request) return render(request, 'users/signup_done.html', ctx) return render(request, 'users/signup.html', ctx)
def login(request): if request.session.get('is_login', None): # 不允许重复登录 return redirect('/index/') if request.method == 'POST': login_form = forms.UserForm(request.POST) message = '请检查填写的内容!' if login_form.is_valid(): username = login_form.cleaned_data.get('username') password = login_form.cleaned_data.get('password') try: user = User.objects.get(name=username) except : message = '用户不存在!' return render(request, 'login.html', locals()) if not user.has_confirmed: message = '该用户还未经过邮件确认!' return render(request, 'login.html', locals()) if not user.in_office: message = '该用户已离职!' return render(request, 'login.html', locals()) if user.password == password: request.session['is_login'] = True request.session['user_id'] = user.id request.session['user_name'] = user.name return redirect('/index/') else: message = '密码不正确!' return render(request, 'login.html', locals()) else: return render(request, 'login.html', locals()) message = request.GET.get('message', '') login_form = forms.UserForm() return render(request, 'login.html', locals())
def get(self, request): user_instance = get_object_or_404(klass=User, pk=request.user.id) profile_instance = get_object_or_404(klass=users_models.Profile, user=request.user) form_user = forms.UserForm(instance=user_instance) form_profile = forms.ProfileForm(instance=profile_instance) return render(request=request, template_name='users/user_form.html', context={ 'form_user': form_user, 'form_profile': form_profile, 'action': 'Edit Profile' })
def register(request): """Adds a new user by saving and linking User and UserProfile forms.""" if request.method != 'POST': return render(request, 'register.html') user_form = forms.UserForm(request.POST) profile_form = forms.UserProfileForm(request.POST) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save() user.set_password(user.password) user.save() profile = profile_form.save(commit=False) profile.user = user profile.save() # Log the new user in return login(request)
def register(request): """Returns registration page and adds a new user to database.""" if request.method != 'POST': return render(request, 'register.html') user_form = forms.UserForm(request.POST) profile_form = forms.UserProfileForm(request.POST) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save() user.set_password(user.password) user.save() profile = profile_form.save(commit=False) profile.user = user profile.save() # Log the new user in return login(request)
def post(self, request): form_user = forms.UserForm(request.POST) form_profile = forms.ProfileForm(request.POST) if form_user.is_valid() and form_profile.is_valid(): form_user.save() user = form_user.save() profile = form_profile.save(commit=False) profile.user = user profile.save() login(request=request, user=user) messages.success(request, message='Account created successfully') return HttpResponseRedirect(redirect_to=reverse('profile-view')) return render(request=request, template_name='users/user_form.html', context={ 'form_user': form_user, 'form_profile': form_profile, 'action': 'Create Profile' })
def post(self, request): user_instance = get_object_or_404(klass=User, pk=request.user.id) profile_instance = get_object_or_404(klass=users_models.Profile, user=request.user) form_user = forms.UserForm(request.POST, instance=user_instance) form_profile = forms.ProfileForm(request.POST, instance=profile_instance) if form_user.is_valid() and form_profile.is_valid(): form_profile.save() form_user.save() messages.success( request, message= f'Updated data for {user_instance.username} successfully') return render(request=request, template_name='users/user_form.html', context={ 'form_user': form_user, 'form_profile': form_profile, 'action': 'Edit Profile' })
def test_form_user_profile(self): user = User.objects.create_user('*****@*****.**', 'password') user_form = forms.UserForm(data={'user': user}) profile_form = forms.ProfileForm(data={'user': user, 'phone': '9999999999'}) assert (user_form.is_valid() and profile_form.is_valid()) is True