Flask-Rendering der vorherigen Version von CSS [Duplikat]

Aug 27 2020

Die Flask-App rendert eine frühere Version meiner CSS-Datei (ich habe gespeichert und Änderungen vorgenommen, aber wenn ich die Seite inspiziere, ist die angezeigte CSS-Datei eine frühere Version). Vielleicht steckt die vorherige Version der CSS-Datei irgendwie im Cache fest? Ich habe versucht, den Browser neu zu starten, kein Glück.

Hier ist der Code:

Teil der Datei app.py (der Teil, in dem ich die HTML-Datei rendere):

from flask import Flask,render_template,url_for,request
from twilio.rest import Client
app = Flask(__name__, template_folder='templates')
app.static_folder = 'static'
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
import pandas_datareader as pdr
#import yahoo finance api fixer
import fix_yahoo_finance as fyf
from pandas_datareader import data as pdr
from datetime import datetime, timedelta

@app.route('/')
def home():
    return render_template('index.html')

if __name__ == "__main__":
    app.run(debug=True)

index.html:

<!DOCTYPE html>
    <html>
        <head>
            <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles.css') }}" />
        </head>
        <body>
            <h1>Ticker Predictor</h1>
            <h2>Using Machine Learning to Predict Tomorrow's Stock Prices</h2>
            <br>
            <h3>Simply enter a valid stock ticker below and hit the predict button to receive a text message of tomorrow's predicted opening price of that stock within around 10 minutes!</h3>
            <!-- Main Input For Receiving Query to our ML -->
            <form action="{{ url_for('predict')}}"method="post">
                <input type="text" placeholder="Input Stock Ticker Here" required="required" />
                <button type="submit">Predict</button>
            </form>
            {{ prediction_text }}
        </body>
    </html>

Und hier ist die Dateistruktur:

TickerPredictor
    |--static/
        |--styles.css
    |--templates/
        |--index.html
    |--app.py

Jede Hilfe wäre sehr dankbar! Vielen Dank!

Antworten

2 rmb Aug 28 2020 at 03:59

Du app.pysolltest so etwas sein

from flask import Flask,render_template

app = Flask(__name__)

@app.route('/')
def home():
    return render_template('index.html')

if __name__ == "__main__":
    DEBUG = True
    HOST = '0.0.0.0'
    app.run(debug=DEBUG, host=HOST)

In Ihrer app.pyDatei haben Sie das nicht erwähnt host. Aktualisieren Sie Ihre app.pyDatei und es sollte funktionieren.

jalunceford Aug 28 2020 at 05:01

Dank der Hilfe von Rahul und stackoverflow.com/questions/21714653/flask-css-not-updating habe ich gerade ein hartes Neuladen in meinem Browser durchgeführt, um den Cache zu leeren (CMD + SHIFT + R). Mit anderen Worten, die vorherige Version der CSS-Datei wurde im Browser-Cache gespeichert. Durch das Löschen des Cache wird die vorherige Version der CSS-Datei entfernt und die neueste Version wird angezeigt (was natürlich das ist, was ich möchte). Vielen Dank an alle!