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

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


html
  1. <from name="PROVEEDOR" action="url_for('test')" method="POST">
  2.  {% for p in posts %}
  3.    <button type="submit">
  4. <select name="PROVEEDOR">
  5. <option value="">CHEF</option>
  6. <option value="INDUVECA">INDUVECA</option>
  7. <select>
  8.  
  9.  
  10.     <strong>PROVEEDOR:</strong> {{ p.ID_PROVEEDOR }}
  11.      <strong>PROVEEDOR:</strong> {{ p.DESCRIPCION }}
  12. {% endfor %}
  13. </form>


segundo metodo


python
  1. @app.route('/t', methods=['POST', 'GET'])
  2. def test1():
  3.    con = pyodbc.connect('DRIVER={SQL Server}; SERVER=AUS_COMPUTO02\SQLEXPRESS; DATABASE=WEBSERVICE; Trusted_Connection = yes;')
  4.    con.row_fatory = sql.Row()
  5.    cur = con.cursor()
  6.    cur.execute("SELECT *FROM PROVEEDOR WERHE ID_PROVEEDOR = {?}")
  7.  
  8.    rows = cur.fetchall();
  9.    return  rows


html
  1. <form action="url_for('t')" method='POST' >
  2.         Dia
  3.        <input list="week" type="text" name="dia" />
  4.        {% for row in rows %}
  5.        <datalist id="week" name="">
  6.        <option value="{{ row[ID_PROVEEDOR] }}" >
  7.        <option value="{{ row[ID_PROVEEDOR] }}" >
  8.        <option value="{{ row[ID_PROVEEDOR] }}" >
  9.        <option value="{{ row[ID_PROVEEDOR] }}" >
  10.        <option value="{{ row[ID_PROVEEDOR] }}" >
  11.        <option value="{{ row[ID_PROVEEDOR] }}" >
  12.        </datalist>
  13.        {% endfor %}
  14.        </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:

  1. return render_template('consulta.html', posts=posts)


Saludos
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)