en model.py
class Perfil(models.Model):
user = models.OneToOneField(User, unique=True, related_name='perfil')
telefono = models.PositiveIntegerField()
direccion = models.TextField()
en form.py
from models import Perfil
from django.contrib.auth.models import User
class UserForm(forms.ModelForm):
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'email')
class PerfilForm(forms.ModelForm):
class Meta:
model = Perfil
en view.py
def crear_perfil(request):
if request.method == 'POST':
# formulario enviado
perfil_form = PerfilForm(request.POST)
if user_form.is_valid():
# formulario validado correctamente
perfil_form.save()
return HttpResponseRedirect('/')
else:
# formulario inicial
user_form = UserForm()
return render_to_response('editar_perfil.html', {'perfil_form': perfil_form }, context_instance=RequestContext(request))
def editar_perfil(request):
if request.method == 'POST':
# formulario enviado
perfil_form = PerfilForm(request.POST, instance=request.user.perfil)
if user_form.is_valid():
# formulario validado correctamente
perfil_form.save()
return HttpResponseRedirect('/')
else:
# formulario inicial
user_form = UserForm(instance=request.user)
return render_to_response('editar_perfil.html', {'perfil_form': perfil_form }, context_instance=RequestContext(request))
Cuando inicio sesion, quiero crear y editar el perfil a la vez
o sea que cuando quiera creae el perfil no aparezca nada como predeterminado
en index.html
En el boton crear
<a href="/crear_perfil/{{user.id}}" data-role="button">crear</a>
deberia aparecer crear , si no lo e creado anteriormente
<a href="/editar_perfil/{{user.id}}" data-role="button">Editar</a>
deberia aparecer editar si he creado anteriormente el perfil
como lo hago para cambiar boton crear a editar, si es que fue creado anteriormente??????