我的項目具有以下結構:如何在JavaScript中利用Flask Blueprints?
run.py
application/
-- __init.py__
-- landing/
-- -- templates/
-- -- -- index.html
-- -- static/
-- -- -- img/
-- -- -- -- photo1.png
-- -- -- -- photo2.png
-- -- -- -- photo3.png
-- -- -- js/
-- -- -- -- script.png
-- -- __init.py__
-- -- models.py
-- -- views.py
run.py
包含:
from application import app
if __name__ == '__main__':
app.run(debug=True)
中的其它事情,application/__init.py__
包含:
from application.landing.views import landing
app.register_blueprint(landing)
application/landing/__init.py__
包含:
# coding:utf-8
from views import *
application/landing/models.py
是空
application/landing/views.py
包含:現在
from flask import render_template , Blueprint
from application import app
landing = Blueprint('landing' , __name__ , static_url_path='/landing/static' , static_folder='./static' , template_folder='./templates')
@landing.route('/')
@landing.route('/index')
def index():
return render_template("index.html")
,index.html中,我定義每個css
和jpg
文件:
{{ url_for('landing.static' , filename='css/bootstrap.min.css') }}
和
{{ url_for('landing.static' , filename='img/logo.png') }}
分別爲
。到現在爲止還挺好。但是,application/landing/static/js/main.js
下有一個文件,需要三個靜態文件: //全屏幕背景圖片幻燈片 $ .backstretch([ 「landing/static/img/bg/01.jpg」, 「landing/static/img /bg/02.jpg「, 」landing/static/img/bg/03.jpg「 ],{duration:3000,fade:750});
顯然,我不想硬 - 這些代碼文件,但使用的藍圖,而不是或者換句話說,這樣的事情:
$.backstretch([
"{{ url_for('landing.static' , filename='img/bg/01.jpg') }}",
"{{ url_for('landing.static' , filename='img/bg/02.jpg') }}",
"{{ url_for('landing.static' , filename='img/bg/03.jpg') }}"
], {duration: 3000, fade: 750});
但正如你可能已經猜到,這將返回404錯誤:
127.0.0.1 - - [31/Aug/2015 16:47:42] "GET /%7B%7B%20url_for('landing.static'%20,%20filename='img/bg/01.jpg')%20%7D%7D HTTP/1.1" 404 -
127.0.0.1 - - [31/Aug/2015 16:47:42] "GET /%7B%7B%20url_for('landing.static'%20,%20filename='img/bg/02.jpg')%20%7D%7D HTTP/1.1" 404 -
127.0.0.1 - - [31/Aug/2015 16:47:42] "GET /%7B%7B%20url_for('landing.static'%20,%20filename='img/bg/03.jpg')%20%7D%7D HTTP/1.1" 404 -
那麼有什麼想法?