Python kolba strona strona pojedynczy element dla wielu pozycji

głosy
-1

Robię projekt strony internetowej kolby i im próbuje utworzyć stronie konkretnego produktu dla każdego z moich przedmiotów. Im przy użyciu SQLite dla bazy danych.

Poniżej znajduje się kod HTML na mojej stronie:

{% extends base-template.html %}

{% block content %}
<h1>Valves</h1>
<form action=/product-info methods=[link, post] class=valve-box>


    {% for valve in valve_list %}
        <li>

            <b>Name/Model:</b> {{ valve['item_name'] }}<br> <b>Price:</b> {{     valve['item_price'] }}$
            <input type=submit value=Go to info page/>


        </li> 
    {% endfor %}



</form>
{% endblock %}

To na html jest w zasadzie pionowo lista przedmiotów. Kiedy jestem zainteresowany elementu, naciskam przycisk obok elementu, a plik trasy w moim folderze będą bierze mnie na stronę produktu-info.

Poniżej jest kod html dla mojej stronie Informacje o produkcie:

{% extends base-template.html %}

{% block content %}
<h1>Information</h1>

<form class=valve-box>

    {% for valve in valve_list %}
        <li>

            <b>Item ID:</b> {{ valve['item_id'] }}<br> <b>Name/Model:</b> {{     valve['item_name'] }}<br> <b>Description:</b> {{ valve['description'] }}<br>     <b>Price:</b> {{ valve['item_price'] }}$



        </li> 
    {% endfor %}


</form>
{% endblock %}

Problemem jest to, muszę interaktywną stronę informacji o produkcie, który tylko pokazuje informacje o produkcie, który użytkownik był zainteresowany i wciśnięty na. Jak mogę to zrobić?

Utwórz 16/10/2016 o 00:36
użytkownik
W innych językach...                            


1 odpowiedzi

głosy
1

Utwórz nowy @app.routew pliku Pythona do wyświetlania informacji określonego produktu, a następnie dodać link do każdego zaworu. To może wyglądać następująco:

<!-- other HTML up here -->
{% for valve in valve_list %}
    <li>
        <b>Item ID:</b> {{ valve['item_id'] }}<br> 
        <b>Name/Model:</b> {{ valve['item_name'] }}<br> 
        <b>Description:</b> {{ valve['description'] }}<br>     
        <b>Price:</b> {{ valve['item_price'] }}$
        <a href='{{ url_for("show_valve", valve_id=valve["item_id"]) }}'>Show detail</a>
    </li> 
{% endfor %}
<!-- the rest of your HTML -->

Twoja nowa funkcja w pliku Pythona zaakceptuje identyfikator wysłany przez swojego szablonu, a następnie można stworzyć stronę dla tego elementu. Oto przykład tego, co myślę o nowej funkcji w kodzie Pythona:

@app.route('whatever/address/you/want')
def show_valve(valve_id):
    # get your list of valves from wherever it comes from
    for valve in valves:
        if valve["item_id"] == valve_id:
            target_valve = valve
            break
    return render_template('showValveDetail.html', valve=target_valve)
Odpowiedział 16/10/2016 o 06:04
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more