Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Problema

Fiz tudo igual ao video, mas está dando esse problema.

TypeError at /registrar/

get() takes exactly 1 argument (2 given)

Request Method:     GET
Request URL:     http://localhost:8000/registrar/
Django Version:     1.7.4
Exception Type:     TypeError
Exception Value:     

get() takes exactly 1 argument (2 given)

Exception Location:     /usr/local/lib/python2.7/dist-packages/django/views/generic/base.py in dispatch, line 87
Python Executable:     /usr/bin/python
Python Version:     2.7.6
Python Path:     

['/home/thiagod/Projetos/Python/Django/connectedin',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-x86_64-linux-gnu',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages/PILcompat',
 '/usr/lib/python2.7/dist-packages/gtk-2.0',
 '/usr/lib/pymodules/python2.7',
 '/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
 '/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode']
4 respostas

Oi Thiago, você pode postar seu código aqui para conseguirmos avaliar melhor? Tem algum problema na hora de chamar o método get() - acredito que ele esteja recebendo mais argumentos do que deveria.

Mas a demora, não tava com PC

from django.shortcuts import render, redirect
from django.views.generic.base import View
from usuarios.forms import RegistrarUsuarioForm

# Create your views here.
class RegistrarUsuarioView(View):

    template_name = 'registrar.html'

    def get(self):
        return render(request, self.template_name)

    def post(self):
        form = RegistrarUsuarioForm(request.POST)
        if form.is_valid():
            dados_form = form.data
            usuario = User.objects.create_user(dados_form['nome'], dados_form['email'], dados_form['senha'])

            perfil = Perfil(nome = dados_form['nome'], email = dados_form['email'], telefone = dados_form['telefone'], dados_form['nome_empresa'], usuario = usuario)

            perfil.save()
            return redirect('index')
        return render(request, self.template_name, {'form', form})
solução!

Oi Thiago, o problema é na função get() que depende da request. Você precisa passar a request como parâmetro, assim:

def get(self, request):
        return render(request, self.template_name)

veja se dá certo

Deu certo, mas apareceu outros erros, vou usar o projeto final mesmo, vlw