Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
CreateView x FormView
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  11 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Gink Labrev  
View profile   Translate to Translated (View Original)
 More options Aug 10 2012, 3:48 pm
From: Gink Labrev <gink.lab...@gmail.com>
Date: Fri, 10 Aug 2012 16:48:50 -0300
Local: Fri, Aug 10 2012 3:48 pm
Subject: [CBV] CreateView x FormView

Pessoal,

Estou criando usuário com a seguinte view:

class Signup(FormView):
template_name = 'signup.html'
form_class = SignupForm
success_url = '/signup/'

def form_valid(self, form):
form.save()
return super(Signup, self).form_valid(form)

Duas perguntas:

1) Teria vantagem em usar CreateView ? Apesar de parecer mais apropriado,
não compreendi bem a diferença entre os dois.

2) Por que quando uso success_url = reverse ('signup') dá pau na app
inteira ? - o name da url é 'signup' mesmo (e faço o import do reverse).

Abs,


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Gink Labrev  
View profile   Translate to Translated (View Original)
 More options Aug 11 2012, 1:10 am
From: Gink Labrev <gink.lab...@gmail.com>
Date: Sat, 11 Aug 2012 02:10:22 -0300
Local: Sat, Aug 11 2012 1:10 am
Subject: Re: [CBV] CreateView x FormView

Seja lá qual for, há diferença.
Se substituo o FormView pelo CreateView no código acima, passa a ocorrer o
erro __init__() got an unexpected keyword argument 'instance'
Não sei qual a solução ainda.

Em 10 de agosto de 2012 16:48, Gink Labrev <gink.lab...@gmail.com> escreveu:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Gink Labrev  
View profile   Translate to Translated (View Original)
 More options Aug 11 2012, 1:53 pm
From: Gink Labrev <gink.lab...@gmail.com>
Date: Sat, 11 Aug 2012 14:53:30 -0300
Local: Sat, Aug 11 2012 1:53 pm
Subject: Re: [CBV] CreateView x FormView

Além disso, se faço isso:
class Signup(FormView):
# resto do código
success_url = reverse('signup')

dá erro dizendo que o padrão não corresponde a nenhuma url.
Mas se faço assim:

class Signup(FormView):
# resto do código
def get_success_url(self):
return reverse('signup')

funciona normalmente. Preferia manter o primeiro código.
Tentei com reverse_lazy, que pesquei pela web mas o erro persiste.

É sério que ng aqui sabe ou tem interesse em trocar ideias sobre CBV ?

Em 11 de agosto de 2012 02:10, Gink Labrev <gink.lab...@gmail.com> escreveu:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Gladson Simplicio  
View profile   Translate to Translated (View Original)
 More options Aug 11 2012, 4:04 pm
From: Gladson Simplicio <glad...@agronomo.eng.br>
Date: Sat, 11 Aug 2012 16:04:23 -0400
Local: Sat, Aug 11 2012 4:04 pm
Subject: Re: [CBV] CreateView x FormView
Eu não conheço, mas esta interessante sua discussão...
Se puder continuar sera de grande ajuda... :D

Em 11 de agosto de 2012 13:53, Gink Labrev <gink.lab...@gmail.com> escreveu:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ellison Leão  
View profile   Translate to Translated (View Original)
 More options Aug 11 2012, 4:26 pm
From: Ellison Leão <ellisonl...@gmail.com>
Date: Sat, 11 Aug 2012 17:26:01 -0300
Local: Sat, Aug 11 2012 4:26 pm
Subject: Re: [CBV] CreateView x FormView

Sempre me interessei mas nunca tive oportunidade de fazer um projeto do 0
apenas usando elas. Se alguém tiver oportunidade de mostrar um caso de uso
legal, com requests ajax , etc, seria interessante.

Em 11 de agosto de 2012 17:04, Gladson Simplicio
<glad...@agronomo.eng.br>escreveu:

--
Ellison Leão
*Lattes*: http://lattes.cnpq.br/7982148173316833
http://about.me/ellison

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Flavia Missi  
View profile   Translate to Translated (View Original)
 More options Aug 12 2012, 9:22 am
From: Flavia Missi <flaviami...@gmail.com>
Date: Sun, 12 Aug 2012 10:22:05 -0300
Local: Sun, Aug 12 2012 9:22 am
Subject: Re: [CBV] CreateView x FormView

Olá,

A diferença entre a CreateView e a FormView é que a primeira é mais
"mastigada", se vc está usando um ModelForm, precisará de menos código com
ela, já a FormView renderiza um form qualquer, veja as docs para mais
detalhes:

https://docs.djangoproject.com/en/1.4/ref/class-based-views/#django.v...
https://docs.djangoproject.com/en/1.4/ref/class-based-views/#django.v...

Mais respostas inline:

>> Seja lá qual for, há diferença.
>> >> Se substituo o FormView pelo CreateView no código acima, passa a
>> ocorrer o
>> >> erro __init__() got an unexpected keyword argument 'instance'
>> >> Não sei qual a solução ainda.

Você está usando um ModelForm? Para usar o create view você precisaria ter
um...

>>> 1) Teria vantagem em usar CreateView ? Apesar de parecer mais
apropriado,
>>> não compreendi bem a diferença entre os dois.

Sim, se você tem um model é mais prático o usar a CreateView, já que essa
view foi feita para este fim.

>>> 2) Por que quando uso success_url = reverse ('signup') dá pau na app
>>> inteira ? - o name da url é 'signup' mesmo (e faço o import do reverse).

Deveria funcionar, você pode postar seu urls.py num gist ou similar?

[]s

--
Flavia


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Matheus Lima  
View profile   Translate to Translated (View Original)
 More options Aug 12 2012, 11:02 pm
From: Matheus Lima <matheus...@gmail.com>
Date: Mon, 13 Aug 2012 00:02:28 -0300
Local: Sun, Aug 12 2012 11:02 pm
Subject: Re: [CBV] CreateView x FormView

Ellison,

Tem esse exemplo do Luciano Ramalho que é ben didático:
https://github.com/acpy/django-ibge/

Em sábado, 11 de agosto de 2012, Ellison Leão escreveu:

--
Sent by iPhone.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Artur Felipe Sousa  
View profile   Translate to Translated (View Original)
 More options Aug 14 2012, 12:57 pm
From: Artur Felipe Sousa <arturfelipe.so...@gmail.com>
Date: Tue, 14 Aug 2012 09:57:58 -0700 (PDT)
Local: Tues, Aug 14 2012 12:57 pm
Subject: Re: [CBV] CreateView x FormView

Parece que o melhor jeito é usar a get_success_url mesmo, mas se você
quiser pode usar alguns artifícios:

https://groups.google.com/forum/?fromgroups#!topic/django-users/zgk0y...

On Monday, August 13, 2012 12:02:28 AM UTC-3, Matheus dos Santos Lima wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Gink Labrev  
View profile   Translate to Translated (View Original)
 More options Aug 15 2012, 12:22 am
From: Gink Labrev <gink.lab...@gmail.com>
Date: Wed, 15 Aug 2012 01:22:42 -0300
Local: Wed, Aug 15 2012 12:22 am
Subject: Re: [CBV] CreateView x FormView

Flávia,

Grato pelas explicações. Foi bem elucidativa.

Acho que no meu caso, é melhor msm o FormView, pois não tenho uma relação
direta entre o model e o form.
Por exemplo, tenho um campo user, que registra o usuário em sessão e não
aparece no form (embora essa possa ser excluído com exclude) e outro campo
horário que é um DateField, mas para o form tenho um campo Date e outro
Time para o usuário preencher e depois transformo os dois em um DateTime
para armazenamento.

Na verdade, achei para prático um forms.Form personalizado, mas vou tentar
com forms.ModelForm só para experiência.

O erro era esse então, pois não passava o ModelForm.

Quanto ao url está assim:

+ projeto
  + projeto
    + urls.py
      - urlpatterns = patterns('',
        ....
        url(r'^', include('app.urls')),
        ...
  + app
    + urls.py
      - urlpatterns = patterns('app.views',
        ....
        url(r'^$', Home.as_view(), name='home'),
        ...
    + views.py
      - class CreatePerson(FormView):
  template_name = 'person.html'
  form_class = PersonForm
  #success_url = reverse_lazy('home') - Dá erro com reverse() tb

  def get_success_url(self):
  return reverse('home') # Funciona

É isso.

Abs,

Em 13 de agosto de 2012 00:02, Matheus Lima <matheus...@gmail.com> escreveu:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Gink Labrev  
View profile   Translate to Translated (View Original)
 More options Aug 15 2012, 12:24 am
From: Gink Labrev <gink.lab...@gmail.com>
Date: Wed, 15 Aug 2012 01:24:16 -0300
Local: Wed, Aug 15 2012 12:24 am
Subject: Re: [CBV] CreateView x FormView

 "e outro campo horário que é um DateField, "
leia-se
 "e outro campo horário que é um DateTimeField, "

Em 15 de agosto de 2012 01:22, Gink Labrev <gink.lab...@gmail.com> escreveu:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Gink Labrev  
View profile   Translate to Translated (View Original)
 More options Aug 15 2012, 4:23 pm
From: Gink Labrev <gink.lab...@gmail.com>
Date: Wed, 15 Aug 2012 17:23:40 -0300
Local: Wed, Aug 15 2012 4:23 pm
Subject: Re: [CBV] CreateView x FormView

Pela thread que o Artur passou + esse link:
http://djangosnippets.org/snippets/2445/ [1], pode-se notar que isso é
comum em Django CBV.
Alguém sabe por que isso ocorre ? Há algum comentário de algum
desenvolvedor Django sobre o motivo deste exceção ?

[1] O link é para <=1.3, em 1.4, deve-se usar o reverse_lazy() para msm
efeito, mas este tb não está funcionando.

Em 14 de agosto de 2012 13:57, Artur Felipe Sousa <
arturfelipe.so...@gmail.com> escreveu:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »