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:
> 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:
> 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:
>> 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:
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:
> 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:
> > 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:
> >> 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:
> >>> 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).
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:
>> 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?
> 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<javascript:_e({}, 'cvml', 'glad...@agronomo.eng.br');>
> > escreveu:
>> 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<javascript:_e({}, 'cvml', 'gink.lab...@gmail.com');>>
>> escreveu:
>> > 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<javascript:_e({}, 'cvml', 'gink.lab...@gmail.com');>>
>> escreveu:
>> >> 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<javascript:_e({}, 'cvml', 'gink.lab...@gmail.com');>
>> >>> 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).
> Em sábado, 11 de agosto de 2012, Ellison Leão escreveu:
>> 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:
>>> 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:
>>> > 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:
>>> >> 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:
>>> >>> Pessoal,
>>> >>> Estou criando usuário com a seguinte view:
>>> >>> 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).
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
> Em sábado, 11 de agosto de 2012, Ellison Leão escreveu:
> 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:
>>> 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:
>>> > 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:
>>> >> 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:
>>> >>> Pessoal,
>>> >>> Estou criando usuário com a seguinte view:
>>> >>> 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).
> 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.
>> Em sábado, 11 de agosto de 2012, Ellison Leão escreveu:
>> 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:
>>>> 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:
>>>> > 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:
>>>> >> 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:
>>>> >>> Pessoal,
>>>> >>> Estou criando usuário com a seguinte view:
>>>> >>> 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).
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:
>> Em sábado, 11 de agosto de 2012, Ellison Leão escreveu:
>>> 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:
>>>> 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:
>>>> > 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:
>>>> >> 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:
>>>> >>> Pessoal,
>>>> >>> Estou criando usuário com a seguinte view:
>>>> >>> 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).