2016-09-19 5 views
7

Mein Hintergrundbild funktioniert nur für diese Vorlage mit @ app.route ('/').Wie man Hintergrundbild auf Flaschen-Schablonen einstellt?

<header class="intro-header" style="background-image: url('static/img/home.jpg')"> 

Das funktioniert völlig in Ordnung, wenn:

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

Alles funktioniert. Ich bekomme diese:

127.0.0.1 - - [19/Sep/2016 21:07:11] "GET /static/img/home.jpg HTTP/1.1" 304 

Aber wenn ich gleiche Vorlage mit:

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

ich dieses:

127.0.0.1 - - [19/Sep/2016 21:15:23] "GET /post/static/img/home.jpg HTTP/1.1" 404 -                   

Und Hintergrund-Bild ist leer.

+0

Geben Sie den Site-relativen Link: 'url (/ static/...)' und nicht Dokument relativ – hjpotter92

Antwort

11

This is a simple problem can solved by Flask documentation

Auf jeden Fall sollten Sie so etwas wie dies in der Vorlage verwenden:

background-image: url({{ url_for('static', filename='img/home.jpg') }}) 

aber wenn Sie nicht wollen, Flask Methoden verwenden, verwenden:

url('/static/img/home.jpg') 

oder verwenden Sie einen anderen Webserver anstelle von Flask Standard-Webserver für Ihre Dateien wie Apache und ac cess via http://yoursite/static/img/home.jpg

1

Teil URLs interpretiert werden relativ zu der Quelle des Stylesheets, nicht in Bezug auf das Dokument - w3 CSS

Dies bedeutet, dass Sie Ihre url() etwas ändern müssen, die führende / aufzunehmen.

"background-image: url('/static/img/home.jpg')" 
Verwandte Themen