Python и mySQL: выбор и отображение строк в таблице на основе пользовательского ввода - PullRequest
0 голосов
/ 03 мая 2020

Я делаю веб-сайт, который отображает таблицу с названиями парков. Пользователь может выполнять поиск по почтовому индексу, и строки в таблице, содержащие этот почтовый индекс, будут отображаться для пользователя. У меня нет предыдущего опыта объединения python и mySQL, поэтому объясните, пожалуйста, простыми словами.

Это python для страницы веб-сайта, на которой у меня есть поиск по почтовому индексу:

@app.route("/home")
def home():
    form = PostcodeForm()

    places = []

    if request.method == "POST":
        if form.validate() == False:
            return render_template('table.html', form=form)
        else:
            postcode = form.postcode.data
            p = Place()
            query = p.list_parks(postcode)
            return render_template('table.html', form=form, places=places, query=query)

    elif request.method == "GET":
        return render_template('table.html', form=form, places=places)

Это класс для выборки парков по соответствующему почтовому индексу:

class Place(object):

  def list_parks(self, postcode):
      self.cur.execute("SELECT * FROM parks WHERE post_code = %s", (postcode,))
      result = self.cur.fetchall()
      return result

Это код таблицы, которую я хочу отобразить:

        <table id="parks" style="width:80%"><tbody>
            <tr>
                <th>Park Name</th>
                <th>House Number</th>
                <th>Street Address</th>
                <th>Suburb</th>
                <th>Postcode</th>
            </tr>

            {% if result %}
            {% for row in result %}

            <tr>
                <td>{{ row.park_name }}</td>
                <td>{{ row.house_number }}</td>
                <td>{{ row.street_address }}</td>
                <td>{{ row.suburb }}</td>
                <td>{{ row.post_code }}</td>

            </tr>

            {% endfor %}
            {% endif %}

            </tbody></table>

Мне не совсем понятно, с чего начать, поэтому, если я не предоставил достаточно информации, не стесняйтесь дай мне знать.

...