2016-09-19 2 views
7

내 배경 이미지는 @ app.route ('/')가있는이 템플리트에서만 작동합니다.플라스크 템플리트에 배경 이미지를 설정하는 방법은 무엇입니까?

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

모든 작품 :

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

이 때 완벽하게 잘 작동합니다. 나는이 얻을 :

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

을하지만과 같은 템플릿을 사용할 때 :

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

그리고 배경 이미지 비어 :

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

나는이 얻을.

+0

사이트 관련 링크 : 'url (/ static/...)'및 문서 상대가 아닙니다. – hjpotter92

답변

11

This is a simple problem can solved by Flask documentation

, 당신은 당신의 템플릿이 같은 것을 사용한다

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

또는 Apache 및 ac와 같은 파일에 플라스크 기본 웹 서버 대신 다른 웹 서버 사용 수신자 : http://yoursite/static/img/home.jpg

1

부분 URL은 문서를 기준으로하지 않는 스타일 시트의 소스에 상대적으로 해석됩니다 - w3 CSS

이 당신이 최고의 /를 포함, 당신의 url()을 약간 수정해야한다는 것을 의미합니다.

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

을하지만 당신은 플라스크 방법을 사용 사용하지 않으려는 경우 : 어쨌든

"background-image: url('/static/img/home.jpg')" 
관련 문제