Filtrowanie danych we Flasku

0

Czesc, proszę o małą pomoc bądź nakierowanie na pewną sprawę. Chcę zrobić filtrowanie danych w Flasku.

Przykład:
Mam takiego forma:

    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')

I takiego HTMLA

      <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>

I chce zrobić funkcję aby jak użytkownik kliknie w

<a href="">Cars</a>

dostał się na podstronę ...../cars gdzie będą wyświetlone tylko ogłoszenia co mają kategorię cars

0
  1. Musisz mieć osobny widok (view) do obsługi żądania http związanego z wyświetlaniem ogłoszen. Jeśli niezależnie od kategorii treść stron będzie wyświetlana podobnie to informacje o kategorii możesz przekazać jako część urla. Wtedy jeden widok posłuży Ci do obsługi wszystkich kategorii. Popatrz jak na olx wygląda url i ich różnice względem kategorii.
  2. Jeśli dane trzymasz w bazie danych to możesz ich obsługę zrealizować z pomocą ORM (np. Peewee albo SQLAlchemy), ewentualnie możesz samemu napisać zapytania i kod, który tworzy tabelki.
  3. Do wyświetlanie treść również przyda Ci się osobny szablon (html). Ze względu, że treść powinna być wyświetlana dynamicznie dlatego poznaj podstawy pracy z Jinja2.
  4. Jak już będziesz miał kompletny widok to podepnij jego adres do tego htmla o którym piszesz. Możesz to zrobić ręcznie (to będzie raczej słabe rozwiązanie w utrzymaniu) albo użyć funkcji url_for, która na podstawie nazwy widoku sama odpowie jaki jest url dla danego widoku.

Tu poniżej jest tutorial, który krok po kroku prezentuje etapy tworzenia aplikacji webowej:
https://flask.palletsprojects.com/en/0.12.x/tutorial/introduction/

1 użytkowników online, w tym zalogowanych: 0, gości: 1