Как отфильтровать данные в Flask? - PullRequest
0 голосов
/ 16 февраля 2020

Я создаю службу рекламы в Flask и хочу позволить пользователям фильтровать рекламу по категориям, но не знаю, как это сделать в python и flask.

Например, у нас есть следующие Форма объявления:

class AdvertForm(FlaskForm):
    title = StringField('Title', validators=[DataRequired()])
    content = TextAreaField('Content', validators=[DataRequired()])
    category = SelectField('Caterogry', validators=[DataRequired()], choices=[('car','Car'), ('work','Work'), ('sport','Sport')])
    submit = SubmitField('Submit')

И следующие html:

  <div class="categories">
    <div class="category-item">
      <a href="">Cars</a>
    </div>
    <div class="category-item">
      <a href="">Work</a>
    </div>
    <div class="category-item">
      <a href="">Sport</a>
    </div>
  </div>

И когда пользователь нажимает на Автомобили пункт в HTML Я хочу сделать подстраницу 127.0.0.1: 5000 / автомобили и показывать только объявления, имеющие категорию автомобиля

1 Ответ

0 голосов
/ 17 февраля 2020

Вы можете захватить выбранную пользователем категорию и отправить ее обратно в вашу функцию Python. Затем, в зависимости от выбора, направьте пользователя на соответствующую подстраницу.

@app.route('/mainpage', methods=['GET','POST'])
def mainpage():
    form = AdvertForm()
    if form.validate_on_submit():
        selectedCategory = request.form['category']
        nextPage = selectedCategory + ".html"
        return render_template(nextPage)
    return render_template('mainpage.html', form=form)

В приведенном выше примере, если пользователи выбирают Автомобиль и нажимают кнопку Отправить, они будут перенаправлены на http://localhost:5000/car.html. Если они выберут Работу, они будут направлены на http://localhost:5000/work.html. Я уверен, что вы поняли идею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...