您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将JavaScript或CSS文件加载到BottlePy模板中?

如何将JavaScript或CSS文件加载到BottlePy模板中?

好吧,首先,您需要实际使用dev服务器main.js,否则浏览器将无法使用它。

通常将所有文件.js.css文件static放在小型Web应用程序的目录下,因此布局应如下所示:

  app.py
- static/
    main.js
- views/
    index.tpl

绝不需要这种确切的命名和布局,而只是经常使用。

接下来,您应该为静态文件提供处理程序:

from bottle import static_file

# ...

@route('/static/:path#.+#', name='static')
def static(path):
    return static_file(path, root='static')

这实际上会将您的文件提供static/给浏览器。

现在,到最后一件事。您将JavaScript指定为:

<script type="text/javascript" src="js/main.js" charset="utf-8"></script>

这意味着到的路径.js 对于当前页面的。在你开发服务器,索引页(/)将寻找.js/js/main.js和另一页(说,/post/12)将寻找它/post/12/js/main.js,并且将肯定失败。

相反,您需要使用该get_url函数正确引用静态文件。您的处理程序应如下所示:

from Bottle import get_url

# ...

@route('/')
@view('index')
def index():
    return { 'get_url': get_url }

在中index.tpl.js应引用为:

<script type="text/javascript" src="{{ get_url('static', path='main.js') }}" charset="utf-8"></script>

get_url用找到一个处理程序name='static',并计算到它的正确路径。对于开发服务器,它将始终为/static/。您甚至可以在模板中对其进行硬编码,但是由于两个原因,我不建议这样做:

javascript 2022/1/1 18:43:05 有412人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶