Página inicial do Grupos do Google
Ajuda | Acessar
comecando- listar clientes e depois pegar todos os dados do mesmo
Há um número excessivo de tópicos que aparecem em primeiro plano neste grupo. Para fazer com que este tópico apareça primeiro, elimine essa opção de um outro tópico.
Erro ao processar a solicitação. Tente novamente.
sinalizar
  10 mensagens - Recolher todas
O grupo no qual você está postando é um grupo da Usenet. As mensagens postadas neste grupo farão com que o seu e-mail fique visível para qualquer pessoa na Internet
Sua resposta não foi enviada.
Post publicado
erico  
Ver perfil
 Mais opções 3 jul, 13:42
De: erico <erico...@gmail.com>
Data: Thu, 3 Jul 2008 09:42:52 -0700 (PDT)
Local: Qui 3 jul 2008 13:42
Assunto: comecando- listar clientes e depois pegar todos os dados do mesmo
Bom dia
Andei lendo alguns posts aqui na lista sobre recuperacao de variaveis,
tentei de varias formas, mas infelizmente nao consegui.

projeto/aplicação : cadastro/clientes

class cliente(models..Model):
aqui uns 15 campos
---
views.py
def index(request):
     clientes = Cliente.objects.all()
     return render_to_response('index.html', {'clientes' :clientes})
tranquilo - lista todos meus clientes por nome   - no template do
mesmo

urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
    (r'^admin/', include('django.contrib.admin.urls')),
    (r'^cadastro/', 'cadastro.clientes.views.index'),
)

index.html
{% for cliente in clientes %}
      <a href="/cadastro/detalhes/
{{ cliente.id }}/">{{ cliente.nome }}</a>
{% endfor %}

preciso escrever uma view que pegue o id do cliente que foi passado e
mostre os outros 14 campos.

no URls.py, imagino:
('r^cadastro/(?P<cliente_id>\d+)/$',
'cadastro.clientes.views.detalhes'),

no Views.py imagino:
def detalhe(request, id):
      cliente_id = request.GET.get('cliente_id')
      e Aqui?
talvez esteja completamente errado, sei que é muita idiotice para vcs,
mas para mim ta complicado.

agradeço e me desculpo pela amolação com m tópico tão besta


    Responder ao autor    Encaminhar  
É necessário Efetuar login antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
wancharle sebastiao quirino  
Ver perfil
 Mais opções 3 jul, 14:37
De: "wancharle sebastiao quirino" <wancha...@gmail.com>
Data: Thu, 3 Jul 2008 14:37:43 -0300
Local: Qui 3 jul 2008 14:37
Assunto: Re: [django-brasil] comecando- listar clientes e depois pegar todos os dados do mesmo

Cara voce tem dois caminhos...

Caminho A (reiventando a roda rsrssr)
No views.py:
from "...mymodels" import Cliente
def detalhe(request, id):
     cliente_id = request.GET.get('cliente_id')
    # aqui voce obtem o objeto referente a seu cliente .(voce pode querer
usar ".filter" no lugar de ".get")
     cliente = Cliente.objects.get(id=cliente_id)
    return render_to_response('cliente.html', {'cliente' :cliente})

No cliente.html:
  <p>Campo1.</p><p>{{cliente.campo1}}
....
  <p>Campo2</p><p>{{cliente.campo14}}

Modelo B
use generic views elas fazem tratamento basico para determinadas situacoes
(listagems, exibicoes de objetos e hierarquia de datas...) e voce pode
alterar a aparencia delas atraves de css.
http://www.djangoproject.com/documentation/generic_views/


    Responder ao autor    Encaminhar  
É necessário Efetuar login antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
erico  
Ver perfil
 Mais opções 3 jul, 15:31
De: erico <erico...@gmail.com>
Data: Thu, 3 Jul 2008 11:31:31 -0700 (PDT)
Local: Qui 3 jul 2008 15:31
Assunto: Re: comecando- listar clientes e depois pegar todos os dados do mesmo
rs  obrigado wancharle.

qdo clico no link com o nome do cliente, nao acontece nada, nem
erro...a única coisa que muda é que ele acrescenta o
/1 à URL,  tipo: http://localhost:8000/cadastro/ - url q lista os
clientes
qdo clico http://localhost:8000/cadastro/1/

urls.py
from django.conf.urls.defaults import *

urlpatterns = patterns('',
    (r'^admin/', include('django.contrib.admin.urls')),
    (r'^cadastro/', 'cadastro.clientes.views.index'),
    ('r^cadastro/(?P<cliente_id>\d+)/$',
'cadastro.clientes.views.detalhe'),
)
views.py  a que me ensinou
def detalhe(request, id):
     cliente_id = request.GET.get('cliente_id')
     cliente = Cliente.objects.get(id=cliente_id)
     return render_to_response('cliente.html', {'cliente' :cliente})

On 3 jul, 14:37, "wancharle sebastiao quirino" <wancha...@gmail.com>
wrote:


    Responder ao autor    Encaminhar  
É necessário Efetuar login antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
wancharle sebastiao quirino  
Ver perfil
 Mais opções 3 jul, 15:55
De: "wancharle sebastiao quirino" <wancha...@gmail.com>
Data: Thu, 3 Jul 2008 15:55:59 -0300
Local: Qui 3 jul 2008 15:55
Assunto: Re: [django-brasil] Re: comecando- listar clientes e depois pegar todos os dados do mesmo

talvez seja a ordem das suas urls tente isso:
urlpatterns = patterns('',
   (r'^admin/', include('django.contrib.admin.urls')),
   ('r^cadastro/(?P<cliente_id>\d+)/$','cadastro.clientes.views.detalhe'),
   (r'^cadastro/', 'cadastro.clientes.views.index'),
)

Mas é estranho devia pelo menos mostrar algum erro ....

2008/7/3 erico <erico...@gmail.com>:


    Responder ao autor    Encaminhar  
É necessário Efetuar login antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
erico  
Ver perfil
 Mais opções 3 jul, 16:32
De: erico <erico...@gmail.com>
Data: Thu, 3 Jul 2008 12:32:51 -0700 (PDT)
Local: Qui 3 jul 2008 16:32
Assunto: Re: comecando- listar clientes e depois pegar todos os dados do mesmo
rs  incrivel, nada... ja tirei ate uma parte da view para gerar algum
erro e nada

On 3 jul, 15:55, "wancharle sebastiao quirino" <wancha...@gmail.com>
wrote:


    Responder ao autor    Encaminhar  
É necessário Efetuar login antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Andrews Medina  
Ver perfil
 Mais opções 3 jul, 17:34
De: "Andrews Medina" <andrewsmed...@gmail.com>
Data: Thu, 3 Jul 2008 16:34:18 -0400
Local: Qui 3 jul 2008 17:34
Assunto: Re: [django-brasil] Re: comecando- listar clientes e depois pegar todos os dados do mesmo
Olá Wancharle,

> Modelo B
> use generic views elas fazem tratamento basico para determinadas situacoes
> (listagems, exibicoes de objetos e hierarquia de datas...) e voce pode
> alterar a aparencia delas atraves de css.
> http://www.djangoproject.com/documentation/generic_views/

Como tu disse generic views serveriam como uma luva para o caso do
Erico. Mas tu se enganou ou se expressou mal. Generic views como o
nome diz são views para casos genericos, mas elas não implementam as
templates automaticamente. Isso ainda tem que ser feito nas generic
views.

[]'s

--
Andrews Medina
www.andrewsmedina.com


    Responder ao autor    Encaminhar  
É necessário Efetuar login antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
erico  
Ver perfil
 Mais opções 3 jul, 18:11
De: erico <erico...@gmail.com>
Data: Thu, 3 Jul 2008 14:11:54 -0700 (PDT)
Local: Qui 3 jul 2008 18:11
Assunto: Re: comecando- listar clientes e depois pegar todos os dados do mesmo
e poderiam me dar um exemplo usando as mesmas?
ja tentei enender...mas nada..
Lembro-me que com php e asp fiz uma espécie de engenharia reversa, o
que nao to conseguindo fazer com o django.

On 3 jul, 17:34, "Andrews Medina" <andrewsmed...@gmail.com> wrote:


    Responder ao autor    Encaminhar  
É necessário Efetuar login antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
erico  
Ver perfil
 Mais opções 4 jul, 11:51
De: erico <erico...@gmail.com>
Data: Fri, 4 Jul 2008 07:51:50 -0700 (PDT)
Local: Sex 4 jul 2008 11:51
Assunto: Re: comecando- listar clientes e depois pegar todos os dados do mesmo
Agora nao da erro nenhum, mas nao mostra o resultado.. na template
cliente.html
views.py

from  django.shortcuts import render_to_response
from cadastro.web.models import Cliente
#Lista
def index(request):
     cliente = Cliente.objects.all()
     return render_to_response("listar.html", {'cliente': cliente})

#Mostra cliente por click
def detalhe(request, cliente_nome):
     cliente_nome = request.GET.get('cliente_nome')
     cliente = Cliente.objects.filter(id=cliente_nome)
     return render_to_response("cliente.html", {'cliente':cliente})
--------------------------------------------------------------------------- ----------------
urls.py
     .......
     (r'^cadastro/', 'cadastro.web.views.index'),
     (r'^detalhe/(?P<cliente_nome>\w+)/$',
'cadastro.web.views.detalhe'),
--------------------------------------------------------------------------- -----------------------------
qdo estou listando os clientes em links
http://localhost:8000/cadastro/

listar.html
{% for cliente in cliente %}
     <a href="/detalhe/{{ cliente.nome }}/">{{ cliente.nome }}</
a>       <br />
{% endfor %}

qdo o link é clicado
http://localhost:8000/detalhe/Erico/

cliente.html
    {{ cliente.telefone }}   <br />
    {{ cliente.celular }}   <br />

On 3 jul, 18:11, erico <erico...@gmail.com> wrote:


    Responder ao autor    Encaminhar  
É necessário Efetuar login antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Igor Sobreira  
Ver perfil
 Mais opções 4 jul, 12:18
De: "Igor Sobreira" <i...@v2windcenter.com>
Data: Fri, 4 Jul 2008 12:18:24 -0300
Local: Sex 4 jul 2008 12:18
Assunto: Re: [django-brasil] Re: comecando- listar clientes e depois pegar todos os dados do mesmo

2008/7/4 erico <erico...@gmail.com>:

o .filter() retorna uma "lista" de resultados, e no template você ta
tentando acessar os atributos telefone e celular dessa lista, que não
existem.

tenta:

cliente = Cliente.objects.get(id=cliente_nome)

O id do cliente e mesmo o nome? pra buscar por nome tu faria:

cliente = Cliente.objects.get(nome__iexact=cliente_nome)

O ideal é botar isso num try, except, tipo

<code>
from django.http import Htt404

try:
    cliente = Cliente.objects.get(id=cliente_nome)
except Cliente.DoesNotExist:
    raise Http404
</code>

ou, mais simples:

<code>
from django.shortcuts import get_object_or_404  # verificar se o import é
esse mesmo

cliente = get_object_or_404(Cliente, id=cliente_nome)
</code>

[]s

--
www.igorsobreira.com


    Responder ao autor    Encaminhar  
É necessário Efetuar login antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
erico  
Ver perfil
 Mais opções 4 jul, 13:56
De: erico <erico...@gmail.com>
Data: Fri, 4 Jul 2008 09:56:08 -0700 (PDT)
Local: Sex 4 jul 2008 13:56
Assunto: Re: comecando- listar clientes e depois pegar todos os dados do mesmo
Valeuuu Igor.. funcionou perfeitamente.
O inglês ta fraco, e com ASP e PHp eu ia fazendo uma eng. reversa.

forte abraço e bom final de semana à TODOS

On 4 jul, 12:18, "Igor Sobreira" <i...@v2windcenter.com> wrote:


    Responder ao autor    Encaminhar  
É necessário Efetuar login antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Fim das mensagens
« Voltar a Discussões « Tópico recente     Tópico antigo »

Criar um grupo - Grupos do Google - Página inicial do Google - Termos de Uso - Política de Privacidade
©2008 Google