Hi,
Need help to implement a form that displays the template´s choices
from my models.py file.
When i try to access the handler guardaPerfil, it shows the forms but
doesn´t fill neither is accesible to select choices created.
-----------------Here´s my models.py: ----------------------
from google.appengine.ext import db
from google.appengine.ext.db import djangoforms
from google.appengine.api import users
from django import newforms
ESCOLHA_SEXO = (
('M', 'masculino'),
('F', 'feminino'),
)
ESCOLA =(
('EST', 'Escola Superior Tecnologia'),
('ESG', 'Escola Superior de Gestao'),
)
class Conta(db.Model):
user=db.UserProperty(u'user', required=True)
nome=db.StringProperty(u'nome', required=True)
apelido=db.StringProperty(u'apelido', required=True)
sexo=db.StringProperty(u'Sexo', required=False, choices =
ESCOLHA_SEXO)
email=db.EmailProperty(u'email', required=True)
escola=db.StringProperty(u'escola', required=False, choices =
ESCOLA)
class Utilizador(db.Model):
user=db.UserProperty(u'user', required=False)
foto = db.BlobProperty(u'foto')
------------------------------Here´s my
forms.py:---------------------------------
from google.appengine.ext.webapp import template
from google.appengine.ext.db import djangoforms
import models
class ContaForm(djangoforms.ModelForm):
class Meta:
model=models.Conta
exclude = ['user']
class UtilizadorForm(djangoforms.ModelForm):
class Meta:
model=models.Utilizador
exclude = ['user']
----------------------------Here´s my
Handler:---------------------------
class GuardarPerfilHandler(webapp.RequestHandler):
def post(self):
if self.request.get('escolhe_conta'):
id = int(self.request.get('escolhe_conta'))
conta = models.Conta.get(db.Key.from_path('Conta', id))
else:
conta = models.Conta()
data = forms.ContaForm(data = self.request.POST)
if data.is_valid():
if users.get_current_user():
conta.user = users.get_current_user()
conta.nome = self.request.get('nome')
conta.apelido = self.request.get('apelido')
conta.sexo = self.request.get('sexo')
conta.email = self.request.get('email')
conta.escola = self.request.get('escola')
conta.put()
self.redirect('/perfil')
else:
path = os.path.join(os.path.dirname(__file__), 'templates/
guardaPerfil.html')
self.response.out.write(template.render(path, locals(),
debug = True))
def get(self):
user=users.get_current_user()
if user:
greeting=("<ul><li><strong><b>%s </b></strong>|</li><li><a
href=\"/perfil\"> Minha Conta </a>|</li><li><a href=\"%s\">Logout</a></
li></ul>" %(user.nickname(), users.create_logout_url("/")))
else:
greeting = ("<ul><li><a href=\"%s\">Login</a></li></ul>" %
(users.create_login_url("/")))
contaForm = ("<form method=\"POST\" action=\"\"><table>%s</
table><input type=\"submit\" value=\"kkkkk\" /></form>" %
(forms.ContaForm()))
conta = db.Query(models.Conta)
conta = conta.filter('user =', user)
conta_lista = conta.fetch(limit = 1)
escola_list = models.Conta.escola.choices
sexo_listar = models.Conta.sexo.choices
path = os.path.join(os.path.dirname(__file__), 'templates/
guardaPerfil.html')
self.response.out.write(template.render(path, locals(),
debug=True))
-------------------------Here´s my
tenplate--------------------------------
<td>Sexo: </td>
<td>
{% for sexo in
sexo_listar value %}
{% ifequal
escolhe_conta.sexo.sexo sexo.sexo %}
<label><input type="radio" name="escolhe_sexo"
value="{{ sexo.sexo }}" checked />{{ sexo.sexo }}</label>
{% else %}
<label><input type="radio" name="escolhe_sexo"
value="{{ sexo.sexo }}" />{{ sexo.sexo }}</label>
{% endifequal %}
{% endfor %}
</td>
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.