it-swarm.com.de

verwenden Sie ein CSS-Stylesheet für eine jinja2-Vorlage

Ich mache eine Website mit HTML, CSS, Kolben und Jinja2.

Ich habe eine Seite, die auf einem Flask-Server arbeitet, die Schaltflächen und Beschriftungen usw. werden angezeigt, aber das CSS-Stylesheet, das ich habe, ist nicht geladen.

Wie würde ich ein Stylesheet mit einer jinja2-Vorlage verknüpfen? Ich habe mich im Internet umgesehen, kann aber nicht herausfinden, wie.

Hier ist der CSS-Stylesheet-Link. soll ich das oder den Python-Code ändern?

<link rel="stylesheet" type="text/css" href="styles.css">

hier ist mein flaschencode:

@app.route('/')
def resultstemplate():
    return render_template('questions.html', head='Welcome!')

hier sind die Speicherorte der Dateien:

/python-code.py /templates/template.html /templates/styles.css

21
ptolemy0

Alle öffentlichen Dateien (diejenigen, die nicht verarbeitet werden, wie Vorlagen oder Python-Dateien) sollten in dedizierten statischen Ordnern abgelegt werden. Standardmäßig verfügt Jinja2 über einen statischen Ordner mit dem Namen static.

Dies sollte Ihr Problem beheben:

  1. Verschiebe /templates/styles.css nach /static/styles.css

  2. Aktualisieren Sie Ihren Code mit folgendem Code, der in den korrekten Dateispeicherort übersetzt wird:

    <link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}">
    

Weitere Informationen zu statischen Dateien in Jinja2 finden Sie hier .

27
<link rel="stylesheet" type="text/css" href="styles.css">

der Wert von href muss in Anführungszeichen stehen.

vergewissern Sie sich, dass der Dateiname und der Pfad korrekt sind ODER probieren Sie Folgendes aus 

<link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}"/>
4
Sunil B N

Die Reihenfolge des Handlers kann die Probleme verursachen:

url: /stylesheets static_dir: stylesheets
url: /.* script: helloworld.application

wird statt arbeiten

url: /.* script: helloworld.application
url: /stylesheets static_dir: stylesheets
2
George Nguyen

Um das hier Gesagte zu ergänzen, aktualisieren Sie unbedingt Jinja2 auf v2.10, da kleinere Versionen anscheinend denselben Fehler verursachen. Prost!

0
jaredgorski

Hat fast jede Lösung mit Stack Overflow ausprobiert. Es hat nur für mich funktioniert, als ich den static-Ordner in das same -Verzeichnis meiner run.py-Datei legte.

app/
    views
    static
    templates
run.py

Zu:

app/
    views
    templates
static
run.py

Ich denke, das Bewegen des run.py würde stattdessen auch funktionieren. Werfen Sie einen Blick auf dieses Jinja Templating Tutorial für zusätzliche Informationen. Nicht sicher, warum ich die Struktur ändern musste, damit es funktioniert.

0
wcyn