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.
Você pode definir isso tanto a nível de model[1], o que fará com que o
atributo do model só possa adotar estas opções, ou a nível de formulário[2],
de forma que em determinado formulário, o atributo deverá ter um desses
valores.
Vinicius, estou com alguns problemas em relação a um pequeno projeto que
comecei a elaborar,
uma agenda simples de telefone, consigo adicionar novo registro mais não
consigo excluir ! falta o codigo html
que não faço ideia de como escrever, tenho pesquisado alguns exemplos na net
mais não tenho tido sucesso !
cara sempre acontece de não achar o template ou dizer que a view não existe
! agora os metodos de adição funcionam perfeito!
será que vc poderia me ajudar , vou posta os codigos da :
*View*
from django.shortcuts import render_to_response
from django.shortcuts import get_object_or_404
from django.http import HttpResponse
from forms import FormContato
from models import Contato
> Você pode definir isso tanto a nível de model[1], o que fará com que o
> atributo do model só possa adotar estas opções, ou a nível de formulário[2],
> de forma que em determinado formulário, o atributo deverá ter um desses
> valores.
um HttpResponseRedirect redireciona para uma URL. acima voce parece que queria carregar um template, pois colocou o .html. Se voce redirecionar para uma URL, essa URL que corresponde à uma view vai ter que ter o codigo para renderizar um template.
Gustavo valeu pelas dicas já ate utilize a mesma forma que vc escreveu a
url.py
cara na exclusão continuo com problemas ! acho que foi a forma que escrevi
meu template Excluir_contato.hmtl
sempre exibe esse erro !
*esse é o codigo do meu template
*
<html>
<form method='post' action=''>
<p>Confirma a exclusão do registro ? </p>
<input type="submit" />
</form>
</html>
> um HttpResponseRedirect redireciona para uma URL. acima voce parece
> que queria carregar um template, pois colocou o .html.
> Se voce redirecionar para uma URL, essa URL que corresponde à uma view
> vai ter que ter o codigo para renderizar um template.
voce ta passando o id do objeto corretamente para a url? o metodo get_object_or_404 retorna, como o nome diz, a pagina de erro 404 caso nao consiga obter o objeto.
> voce ta passando o id do objeto corretamente para a url?
> o metodo get_object_or_404 retorna, como o nome diz, a pagina de erro 404
> caso nao consiga obter o objeto.
entra no shell (python manage.py shell) e executa os comandos:
>>> from nomedasuaapp.models import * >>> Contato.objects.get(id=2)
veja se vai aparecer algum objeto contato ou se vai dar o mesmo erro. Se der o mesmo erro é porque voce nao tem um contato cadastrado com id=2.
para ver todos os objetos cadastrados, digita Contato.objects.all()
para ver o id de cada um:
>>> contatos = Contato.objects.all() >>> [item.id for item in contatos]
entao deve exibir uma lista com todos os IDs [1, 2, 5, 8]
no urls.py voce declarou: url(r'^remover/(?P<contato_id>\w+)/
sendo assim, voce é obrigado a passar um valor como parametro apos 'remover/'. entao se nao fizer isso, tentar acessar localhost:8000/delete/ sem passar algum valor depois da barra, o django vai dizer que a url nao existe.
Caro gustavo,
Achei mais fácil mudar de banco ! coloquei o mysql e checkei os dados na
tabela escolhendo
um numero id existente na tabela.Digitei http://localhost:8000/delete/1/ e deu essa messagem
*Erro: global name 'HttpResponseRedirect' is not defined
> entra no shell (python manage.py shell) e executa os comandos:
> >>> from nomedasuaapp.models import *
> >>> Contato.objects.get(id=2)
> veja se vai aparecer algum objeto contato ou se vai dar o mesmo erro.
> Se der o mesmo erro é porque voce nao tem um contato cadastrado com
> id=2.
> para ver todos os objetos cadastrados, digita Contato.objects.all()
> para ver o id de cada um:
> >>> contatos = Contato.objects.all()
> >>> [item.id for item in contatos]
> entao deve exibir uma lista com todos os IDs
> [1, 2, 5, 8]
> no urls.py voce declarou:
> url(r'^remover/(?P<contato_id>\w+)/
> sendo assim, voce é obrigado a passar um valor como parametro apos
> 'remover/'. entao se nao fizer isso, tentar acessar
> localhost:8000/delete/ sem passar algum valor depois da barra, o
> django vai dizer que a url nao existe.
Esqueci de comentar algo importante !
apesar do erro ele esta deletando do banco !
de qualquer forma acho que fica um pouco sem sentido vc ter que abrir o
banco para saber o numero id
que vc que deletar ! não teria uma outra forma mais elegante, tipo vc pode
escolher de uma lista ??
obs. vou tem razão vou começa a estudar mais !
Abraços