Já tentei com o nome do usuário , com o email e sempre retorna como inválido Abaixo o código da urls, view e Model
urls.py
from django.conf.urls import patterns, url
from usuario.views import RegistraUsuario
urlpatterns = patterns('',
url(r'^registrar/$',RegistraUsuario.as_view(),name='registrar'),
url(r'^login/$', 'django.contrib.auth.views.login', {'template_name':'login.html'}, name='login'),
url(r'^logout/$', 'django.contrib.auth.views.logout_then_login', {'login_url':'/login/'}, name='logout')
)
view.py
from django.shortcuts import render , redirect
from perfis.models import Perfil, Convite
from django.contrib.auth.decorators import login_required
@login_required
def index(request):
return render(request,'index.html',{'perfis':Perfil.objects.all(),'perfil_logado':get_perfil_logado(request)})
@login_required
def exibir(request,perfil_id):
perfil = Perfil()
perfil = Perfil.objects.get(id=perfil_id)
perfil_logado = get_perfil_logado(request)
ja_eh_contato = perfil in perfil_logado.contatos.all();
return render(request,'perfis.html',{'perfil':perfil,'ja_eh_contato':ja_eh_contato})
@login_required
def convidar(request,perfil_id):
perfil_a_convidar = Perfil.objects.get(id=perfil_id)
perfil_logado = get_perfil_logado(request)
perfil_logado.convidar(perfil_a_convidar)
return redirect('index')
@login_required
def aceitar(request,convite_id):
convite = Convite.objects.get(id=convite_id)
convite.aceitar()
return redirect('index')
@login_required
def get_perfil_logado(request):
return request.user.pefil
models.py
from django.db import models
from django.contrib.auth.models import User
class Perfil(models.Model):
nome = models.CharField(max_length=255,null=False)
telefone = models.CharField(max_length=15,null=False)
nome_empresa = models.CharField(max_length=255,null=False)
contatos = models.ManyToManyField('self')
usuario = models.OneToOneField(User,related_name='perfil')
@property
def email(self):
return self.usuario.email
def convidar(self,perfil_convidado):
Convite(solicitante=self,convidado=perfil_convidado).save()
class Convite(models.Model):
solicitante = models.ForeignKey(Perfil,related_name='convites_feitos')
convidado = models.ForeignKey(Perfil, related_name='convites_recebidos')
def aceitar(self):
self.convidado.contatos.add(self.solicitante)
self.solicitante.contatos.add(self.convidado)
self.delete()