2 Comments

  1. Gostei do seu tutorial e suas dicas, com uma ressalva. Não entendi essa parte do código
    “””
    # O que é UsuarioAdd()? O que ele faz?
    userinstancia = new_user.UsuarioAdd()

    #aqui nós criamos o profile, insira nos parâmetros abaixo os dados de acordo com a sua necessidade
    #UserProfile é sua classe de modelo com o atributo user, correto? o que vem a ser instancia.id?
    profile = UserProfile(user=userinstancia, empresa=instancia.id)
    #Porque você esta salvando se ainda não foi renderizado para o preenchimento?
    profile.save()

    Desculpe tantas perguntas é que estou fazendo um cadastro e preciso colocar mais dados e o google + a lista de django apontam para a documentação que para mim nao esta muito clara…
    Caso você responda por favor me mande um email notificando para que eu veja a resposta?

    • @Valdinei dos Santos, Blz man nós estamos aqui para ajudar mesmo eu já passei por todas essas dores de cabeça que você está passando e elas não param aí django vale muito a pena aprender pois é uma linguagem maravilhosa.

      vamos a primeira dúvida:

      1 – UsuarioAdd() é um metodo do meu form Usuario que é onde faço a inserção do usuário “manualmente” ao invés de deixar a cargo do django eu não vou inserir todos os dados na minha classe usuario então eu manipulo no UsuarioAdd aquilo que me é conveniente, veja minha classe como é:

      #-*- coding: utf-8 -*-
      from django.contrib.auth.models import User
      from django import forms
      from django.forms.fields import *
      from django.forms.widgets import *
       
      class UsuarioForm(forms.Form):
          id = forms.CharField()
          username = forms.CharField()
          password1 = forms.CharField()
          email = forms.EmailField()
          first_name = forms.CharField()
       
          def UsuarioAdd(self):
              user = User.objects.create_user(username=self.data["username"], 
                              email=self.data["email"]
                              )
              id = user.id
              user.first_name = self.data["first_name"]
              user.is_active = True
              user.set_password(self.data["password1"])
              user.save()
       
              # retorna com o usuario recem criado
              return user

      2 – Ela é uma classe model e tem os atributos mostrados acima: user, empresa, karma e url e no caso do instancia.id é uma instancia de outra parte de código do galileu (projeto que estou desenvolvendo).

      Ela na verdade é uma instancia tipo a userinstancia que eu mostrei acima só que ele recebe o model Empresa daí eu pego o id da Empresa em que o usuário que está sendo inserido.

      Por exemplo caso queira preencher além da empresa o url eu faria assim

      profile = UserProfile(user=userinstancia, empresa=instancia.id, url=’http://oraculum.blog.br’)

      Depois apenas chamo o metodo Save da model UserProfile e o django se encarrega de inserir no banco 🙂

      Qualquer dúvida post aqui novamente.

      ps. Caso queira ter uma ideia de alguns códigos que eu já fiz baixe via svn o projeto galileu (http://sourceforge.net/projects/galileu/develop) ele é open source e livre.

Leave a Reply