我正在处理使用url_for
指定某些静态资产(js,css等)路径的Flask应用。以下是其中一个模板的示例:
<script src='{{ url_for('static', filename='js/search.js') }}'></script>
当它被渲染成html时,路径如下所示:
<script src='/static/js/search.js'></script>
是否可以修改此行为,以便从呈现的脚本路径中删除前导斜杠?目标是呈现以下内容:
<script src='static/js/search.js'></script>
我非常感谢其他人可以就此问题提供的任何见解!
答案 0 :(得分:0)
我在加载位于自定义静态路径上的css文件时遇到类似的问题。 一种解决方法是更改应用程序的ROOT_DIRECTORY,但这不适用于我的应用程序,因为我只需要更改静态路径即可。
我结合使用了static_folder和static_url_path:
STATIC_URL_PATH = '/your/custom/path/static' # Where the css is stored
STATIC_FOLDER = 'your/custom/path/static'
app = Flask(__name__, static_folder=STATIC_FOLDER,
static_url_path=STATIC_URL_PATH)
如您所见,主要区别是开头的/,但这使应用程序能够找到CSS。