Mein Dash-Tutorial sieht anders aus als das in der Dokumentation. Sollten Sie?
P粉920835423
P粉920835423 2024-02-21 20:49:58
0
1
458

Ich bin ein erfahrener Backend-Ingenieur, aber ich bin neu im browserbasierten GUI-Design (HTML, CSS usw.). Ich musste ein Dashboard erstellen und habe Dash gefunden. Ich habe gerade angefangen, an diesen Beispielen zu arbeiten.

Wenn ich das Beispiel ausführe, sind meine Ergebnisse völlig anders als in der Dokumentation dargestellt. In der Dokumentation heißt es, dass es möglicherweise geringfügige Unterschiede gibt, aber meine Unterschiede sind überhaupt nicht geringfügig. Bei einem der früheren Tabellenbeispiele hatte meine Tabelle beispielsweise keine Ränder, Hintergrundfarben usw. Es scheint mir, dass keine Stile angewendet werden. Ich würde gerne wissen, ob die Ergebnisse, die ich erhalte, den Erwartungen entsprechen oder ob etwas nicht stimmt.

Hier ist ein Beispiel. Dieses Beispiel stammt aus dem Abschnitt „Wiederverwendbare Komponenten“ des Abschnitts „Layout-Tutorial“. In der Dokumentation sieht die erste Darstellung so aus:

Aber was ich bekomme, ist Folgendes:

Der Beispielcode lautet wie folgt:

# Run this app with `python app.py` and
# visit http://127.0.0.1:8050/ in your web browser.

from dash import Dash, html
import pandas as pd

df = pd.read_csv('https://gist.githubusercontent.com/chriddyp/c78bf172206ce24f77d6363a2d754b59/raw/c353e8ef842413cae56ae3920b8fd78468aa4cb2/usa-agricultural-exports-2011.csv')


def generate_table(dataframe, max_rows=10):
    return html.Table([
        html.Thead(
            html.Tr([html.Th(col) for col in dataframe.columns])
        ),
        html.Tbody([
            html.Tr([
                html.Td(dataframe.iloc[i][col]) for col in dataframe.columns
            ]) for i in range(min(len(dataframe), max_rows))
        ])
    ])


app = Dash(__name__)

app.layout = html.Div([
    html.H4(children='US Agriculture Exports (2011)'),
    generate_table(df)
])

if __name__ == '__main__':
    app.run_server(debug=True)

Ich habe die Konsole der Entwicklertools in Chrome überprüft und keine Fehler festgestellt, die darauf hindeuten, dass die CSS-Datei nicht geladen werden konnte. Ich arbeite in PyCharm auf dem Mac. Ich habe den Text unverändert in eine leere „app.py“-Datei kopiert/eingefügt und die Datei ausgeführt.

Sind meine Ergebnisse falsch oder nur meine Erwartungen falsch? Was könnte mir fehlen, wenn ich besser aussehende Ergebnisse erzielen sollte?

Wenn es das ist, was ich bekommen soll, wie soll ich dann eine gute Auswahl an Stilen finden und anwenden, damit mein Tisch gut aussieht? Muss ich Tischstile einzeln lernen, oder gibt es einen besseren Weg? Gibt es in HTML/CSS eine Art „Plugin“-Konzept, das eine Reihe von Stilen für einen bestimmten Zweck erfasst und einfügt, beispielsweise ein Stylesheet? Wenn ja, wo sollte ich nach einem solchen „Plugin“ suchen? Ich wusste, dass das Frontend React verwendet, war aber so neu in diesem Bereich, dass mir das Wissen nicht wirklich geholfen hat.

TIA sucht Hilfe!

P粉920835423
P粉920835423

Antworte allen(1)
P粉667649253

我鼓励您使用Dash Bootstrap 组件轻松设置您的表格样式,我用这个库重写你的示例,并得到你想要的输出:

from dash import Dash, html, dcc
import pandas as pd
import dash_bootstrap_components as dbc

app = Dash(external_stylesheets=[dbc.themes.BOOTSTRAP])


df = pd.read_csv('https://gist.githubusercontent.com/chriddyp/c78bf172206ce24f77d6363a2d754b59/raw/c353e8ef842413cae56ae3920b8fd78468aa4cb2/usa-agricultural-exports-2011.csv')

table_header = [
    html.Thead(html.Tr([html.Th(col) for col in df.columns]))
]


table_body = [html.Tbody([
                html.Tr([
                    html.Td(df.iloc[i][col]) for col in df.columns
                ]) for i in range(len(df))
              ])
             ]


table = dbc.Table(
    table_header + table_body,
    bordered=True,
    dark=True,
    hover=True,
    responsive=True,
    striped=True,
)


app.layout = html.Div([
    html.H4(children='US Agriculture Exports (2011)'),
    table
])


app.run_server(debug=True, use_reloader=False)

输出

要了解有关必须自定义表格的选项的更多信息,请参阅

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage