Esse é meu primeiro tutorial, não é extenso pois estou iniciando no Django e Python, e como eu gosto de ajudar sempre que possível eu vou compartilhar a experiência que fiz com essa classe nova do django, o newforms.
Eu não vou me deter a explicar como iniciar uma aplicação nova e etc, isso já esta descrito nos tutoriais traduzidos do site da comunidade djangobrasil.org
Vamos usar essas declarações:
from django import newforms as forms
from django.shortcuts import render_to_response
Agora vamos criar a classe na qual usaremos para gerar o formulário:
class ContatosForm(forms.Form):
nome = forms.CharField(max_length=100, required=True)
endereco = forms.CharField(max_length=100, required=False)
email = forms.EmailField(required=False)
telefone = forms.CharField(max_length=100, required=True)
celular = forms.CharField(max_length=100, required=False)
Bom a gente declarou os campos, definimos o tamanho e tipo de cada um e dissemos para cada campo se ele é requerido ou não, se deixarmos um campo requerido vazio uma mensagem vai ser gerada dizendo que o campo é obrigatório e deve ser preenchido.
Agora vamos fazer a função que vai retornar o html para a pagina que vamos usar para gerar o nosso formulário:
def index(request):
data = {'nome': 'Rafael Campos de Bastiani',
'endereco': 'algum lugar',
'email': 'testando@teste.net',
'telefone': '549018283',
'celular': '549018282'}
f = ContatosForm(data)
return render_to_response('index.html', {'form': f.as_table()})
Crio uma variável “data” na qual vai conter os dados que vão aparecer nos campos do formulário. Após passo a classe ContatosForm para a variável “f” e mando os dados junto com a classe. Agora vem o retorno “render_to_response”, esse cara vai abrir o index.html e mandar para ele a nossa variável “f” na qual vai passar a se chamar “form” dentro do código html, notem que uso a opção as_table() essa opção é para gerar os campos em uma tabela html.
Vamos ao código da pagina index.html:
<html>
<head>
<title>Newforms Django</title>
</head>
<body>
<table>
{{form}}
</table>
</body>
</html>
Esse é o nosso html, notem o {{form}} entre as tags
e ali aonde o a mágica vai acontecer, o nosso formulário será criado bem ali, lembra que passamos a nossa classe para essa variável “form”? pois bem é ela que vai gerar tudo para nós.
Em breve veremos como usar o newforms com modelos e assim geraremos nossos formulários a partir dos modelos criados para armazenarmos dados.
Espero ter ajudado!
Abraços!
Referencia: http://www.djangoproject.com/documentation/newforms/
Rafael,
Parabéns pelo artigo, excelente !.
Estou aguardando anciosamente pela continução.
Um grande abraço,
Leandro.
Parabéns pelo tutorial Rafael!
Tão pouco tempo usando Django e já está ajudando a comunidade.
É isso ai!!
Abraços
Opa!
Show de bola, me ajudou 100% :D
Vale lembrar também que temos que adicionar:
from django.shortcuts import render_to_response
no topo dos views,
e também uma url ex:.
(r'^index/', 'NOMEDOPROJETO.NOMEDAAPLICACAO.views.index'),
no arquivo urls.py
certo?
eheeh
show de bola o artigo!
Abraço,
Lucas Max
Vlw pelo comentario Max!
Na real o que eu mostrei eh apenas como usar o newforms, para fazer oque vc disse ai teríamos q usar o modelforms.
[]'s
Feeds RSS
Ultimas Mensagens
Tags (categorias)
Links
Histórico