Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
pythom Visualizar contenido de una tabla en flask
#1
Hola a todos soy nuevo en el foro y soy nuevo el mundo de la programacion con python comense con la programacion web con flask, bueno el caso es que estoy intentando que los valores de una tabla en una base de datos aparescan en una lista de seleccion pero de entrada ya lo he intendado de varias  formas y no me funciona aqui les envio el codigo.

codigo py

Código:
@app.route('/test',methods=['POST', 'GET'])
def Consulta():
   con = pyodbc.connect('DRIVER={SQL Server}; SERVER=AUS_COMPUTO02SQLEXPRESS; DATABASE=WEBSERVICE; Trusted_Connection = yes;')
   cur = con.cursor()
   cur.execute("SELECT *FROM PROVEEDOR WHERE DECRIPCION = '{}'".format('CHEF'))
   posts = [dict(ID_PROVEEDOR=row[0], DECRIPCION=row[1]) for row in cur.fetchall()]
   con.close()
   return render_template('consulta.html')

html
Código:
<from name="PROVEEDOR" action="url_for('test')" method="POST">
 {% for p in posts %}
   <button type="submit">
<select name="PROVEEDOR">
<option value="">CHEF</option>
<option value="INDUVECA">INDUVECA</option>
<select>


    <strong>PROVEEDOR:</strong> {{ p.ID_PROVEEDOR }}
     <strong>PROVEEDOR:</strong> {{ p.DESCRIPCION }}
{% endfor %}
</form>

segundo metodo


python
Código:
@app.route('/t', methods=['POST', 'GET'])
def test1():
   con = pyodbc.connect('DRIVER={SQL Server}; SERVER=AUS_COMPUTO02SQLEXPRESS; DATABASE=WEBSERVICE; Trusted_Connection = yes;')
   con.row_fatory = sql.Row()
   cur = con.cursor()
   cur.execute("SELECT *FROM PROVEEDOR WERHE ID_PROVEEDOR = {?}")

   rows = cur.fetchall();
   return  rows

html
Código:
<form action="url_for('t')" method='POST' >
        Dia<br>
       <input list="week" type="text" name="dia" />
       {% for row in rows %}
       <datalist id="week" name="">
       <option value="{{ row[ID_PROVEEDOR] }}" >
       <option value="{{ row[ID_PROVEEDOR] }}" >
       <option value="{{ row[ID_PROVEEDOR] }}" >
       <option value="{{ row[ID_PROVEEDOR] }}" >
       <option value="{{ row[ID_PROVEEDOR] }}" >
       <option value="{{ row[ID_PROVEEDOR] }}" >
       </datalist>
       {% endfor %}
       </br>
Responder
#2
Hola, bienvenido. En tu primer código te falta pasarle la información que recibiste de la base de datos a la función render_template(), para que sean accesibles desde el HTML. Debería ser:

Código:
return render_template('consulta.html', posts=posts)

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 3 invitado(s)