Pytanie Słownik Pythona do tabeli html


Czy istnieje sposób drukowania słownika Pythona do tabeli w HTML. Mam słownika Pythona i wysyłam do HTML przy użyciu

return render_template('index.html',result=result)

Teraz muszę wydrukować elementy w słowniku wyników do HTML jako tabeli.


14
2018-02-01 18:02


pochodzenie


Korzystam z pracy webframe Pythona-Flask - just_in
Flask wykorzystuje Jinja. Przeczytaj instrukcję jinja.pocoo.org/docs/templates - Sean McSomething


Odpowiedzi:


Flask wykorzystuje Jinja jako strukturę szablonową. Możesz po prostu wykonać następujące czynności w swoim szablonie (html)

<table>
{% for key, value in result.iteritems() %}
   <tr>
        <th> {{ key }} </th>
        <td> {{ value }} </td>
   </tr>
{% endfor %}
</table>

24
2018-02-01 22:39



Dla Pythona3 użyłbyś result.items() - Frane


Mam więcej szczęścia, umieszczając słownik na liście list, a następnie przeszukuję pętlę html i wydrukuję tabelę. Python będzie:

Table = []
for key, value in results_dict.iteritems():
    temp = []
    temp.extend([key,value])  #Note that this will change depending on the structure of your dictionary
    Table.append(temp)

Następnie w swoim html przeszukujesz tabelę.

<table>
{% for t in table %}
    <tr>
    {% for i in t %}
        <td>{{ i }}</td>
    {% endfor %}
    </tr>
{% endfor %}
 </table>

2
2018-02-01 18:44



Chcę, aby tylko niektóre komórki w tabeli były edytowalne. A także chciałbym dodać moduł "datetimepicker.js" na niektórych komórkach. Czy jest jakiś sposób? - just_in
Dzięki temu edytowalne komórki w tabeli będą miały pole tekstowe z domyślną wartością tego, co znajduje się w słowniku. Możesz nadać polu tekstowemu unikalny identyfikator, więc datetimepicker może pobrać komórkę, którą chcesz zmienić. - Jroosterman


Czek Stół do kolb.

Przykład z dokumentów (nieznacznie edytowane):

from flask_table import Table, Col

# Declare your table
class ItemTable(Table):
    name = Col('Name')
    description = Col('Description')

items = [dict(name='Name1', description='Description1'),
         dict(name='Name2', description='Description2'),
         dict(name='Name3', description='Description3')]

# Populate the table
table = ItemTable(items)

# Print the html
print(table.__html__())
# or just {{ table }} from within a Jinja template

2
2018-04-24 15:04





Iteruj przez elementy słownika za pomocą result.iteritems() a następnie zapisz klucze / dane w wierszach tabeli html.


1
2018-02-01 18:04



musimy zrobić result.iteritems na stronie html? czy jest jakiś dokument? - just_in


tbl_fmt = '''
<table> {}
</table>'''

row_fmt  = '''
  <tr>
    <td>{}</td>
    <td>{}</td>
  </tr>'''

def dict_to_html_table(in_dict):
    return tbl_fmt.format(''.join([row_fmt.format(k,v) for k,v in in_dict.iteritems()]))

0
2018-04-27 20:20