Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class perfil(models.Model):
- Sexos = (
- ('M','Masculino'),
- ('F','Femenino'),
- )
- user = models.OneToOneField(User, related_name='profile')
- ci = models.CharField(max_length = 10, blank=True, null=True)
- sexo = models.CharField(max_length = 1, choices = Sexos, blank=True, null=True)
- fechaNac = models.DateField(blank=True, null=True)
- foto = models.CharField(max_length = 300,blank=True, null=True)
- tlf = models.CharField(max_length = 11,blank=True, null=True)
- def __str__(self):
- return self.user.first_name + " " + self.user.last_name
- def __unicode__(self):
- return self.user
- def registroUsuario(request):
- if request.user.is_authenticated():
- return HttpResponseRedirect('/registro')
- if request.method == "POST":
- form = formRegistroUsuario(request.POST)
- if form.is_valid():
- username = form.cleaned_data['username']
- nombre = form.cleaned_data['nombre']
- apellidos = form.cleaned_data['apellidos']
- f_nac = form.cleaned_data['f_nac']
- correo = form.cleaned_data['correo']
- tlf = form.cleaned_data['tlf']
- clave = form.cleaned_data['clave']
- sexo = form.cleaned_data['sexo']
- ci = form.cleaned_data['ci']
- entry = User.objects.create_user(username= username ,email = correo, password = clave)
- entry.first_name = nombre
- entry.last_name = apellidos
- entry.save()
- p_entry = perfil.objects.get(user = entry)
- p_entry.ci = ci
- p_entry.sexo = sexo
- p_entry.fechaNac = f_nac
- p_entry.tlf = tlf
- p_entry.save()
- return HttpResponseRedirect('/registro')
- else:
- return render(request,'registro/home.html', {'form': form})
- pass
- else:
- form = formRegistroUsuario()
- return render(request,'registro/home.html', {'form': form})
- class userForm(forms.ModelForm):
- username = forms.CharField(disabled = True, label = 'Nombre de usuario')
- first_name = forms.CharField(disabled = True, label = 'Nombre')
- last_name = forms.CharField(disabled = True, label = 'Apellido')
- password = forms.CharField(widget=forms.PasswordInput(), label = 'Contrasena', required = False)
- class Meta:
- model = User
- fields = ['first_name', 'last_name', 'username', 'password']
- class perfilForm(forms.ModelForm):
- fechaNac = forms.DateField(disabled = True, label = 'Fecha de nacimiento')
- tlf = forms.CharField(label = 'Numero de telefono')
- ci = forms.CharField(disabled = True, label = 'CI')
- correo = forms.CharField(disabled = True)
- class Meta:
- model = perfil
- exclude = ('user',)
- @login_required(login_url='/registro/login/')
- def editarUsuario(request):
- if request.method == "POST":
- userform = userForm(instance = request.user, data = request.POST)
- profileform = perfilForm(instance = request.user.perfil, data = request.POST)
- if userform.is_valid() and profileform.is_valid():
- user = userform.save(commit = False)
- user.user = request.user
- if userform.cleaned_data['password']:
- user.set_password(userform.cleaned_data['password'])
- user.save()
- profile = profileform.save(commit = False)
- profile.user = user
- profile.save()
- return HttpResponseRedirect('/registro/editar')
- else:
- return render(request,'registro/editar.html', {'formUser': userform,
- 'formPerfil': profileform})
- else :
- formUser = userForm(instance = request.user)
- formPerfil = perfilForm(instance = request.user.perfil)
- return render(request,'registro/editar.html', {'formUser': formUser,
- 'formPerfil': formPerfil})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement