Pessoal,
estou tentando exibir alguns dados no html e não consigo. Acredito ser por conta dos parâmetros serem privados. Falo isso porque quando utilizei os valor na classe com os atributos públicos, funcionou. Seguem abaixo os códigos:
class Aluno:
def __init__( self, rm, nome, sexo ): #data_de_nascimento, cor, local_nascimento, nacionalidade, rg, cpf ):
self.__rm = rm
self.__nome = nome
self.__sexo = sexo
@property
def rm(self):
return self.__rm
@property
def nome(self):
return self.__nome
@property
def sexo(self):
return self.__sexo
from flask import Flask, render_template, request, redirect
from alunos import Aluno
app = Flask(__name__)
aluno1 = Aluno("1", 'Felipe', 'M')
lista = [aluno1]
@app.route("/")
def index():
return render_template("lista.html", titulo="Alunos", alunos=lista)
@app.route("/novo")
def novo():
return render_template("novo.html", titulo="Novo Aluno")
@app.route('/criar', methods=['POST', ])
def criar():
rm = request.form["rm"]
nome = request.form["nome"]
sexo = request.form["sexo"]
aluno = Aluno(rm, nome, sexo)
lista.append(aluno)
return redirect("/")
app.run(debug=True)
Também seguem os templates que estou utilizando:
{% extends "template.html" %}
{% block content %}
<table class="table table-striped table-responsive table-bordered">
<thead class="thead-default">
<tr>
<th>RM</th>
<th>Nome</th>
<th>Sexo</th>
</tr>
</thead>
<tbody>
{% for aluno in alunos %}
<tr>
<td>{{ aluno.rm }}</td>
<td>{{ aluno.nome}}</td>
<td>{{ aluno.sexo }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
{% extends "template.html" %}
{% block content %}
<form action="/criar" method="post">
<fieldset>
<div class="form-group">
<label for="rm">RM</label>
<input type="text" id="rm" name="rm" class="form-control">
</div>
<div class="form-group">
<label for="nome">Nome</label>
<input type="text" id="nome" name="nome" class="form-control">
</div>
<div class="form-group">
<label for="sexo">Sexo</label>
<input type="text" id="sexo" name="sexo" class="form-control">
</div>
<button type="submit" class="btn btn-primary btn-salvar">Salvar</button>
</fieldset>
</form>
{% endblock %}
Podem me ajudar, por favor?