django可通过不同的网址提供相同的静态文件

时间:2019-12-14 09:29:25

标签: javascript django django-urls

我遇到一种情况,一个缩小的js脚本试图包含另一个具有硬编码相对路径的js文件。

更准确地说:

我正在使用url模式path('room/<int:room_id>/', room, name='room')渲染html页面,

此页面包括第一个带有<script src="{% static 'js/firstlib.min.js' %}"></script>的js库

我的静态文件目录中有js/firstlib.min.js,因此Django服务

http://localhost:8000/static/js/firstlib.min.js correctly

问题是firstlib.min.js尝试使用硬编码的相对路径,包括使用tanks/lib/otherlib.js

http://localhost:8000/room/139/tanks/lib/otherlib.js

tank/*中的任何地方,用/static/tank/*替换firstlib.min.js都是一个肮脏的办法。但是我想知道是否有更好的方法来解决此问题,例如通过动态重写url: /room/<int:room_id>/<path>/somescript.js变成/static/<path>/somescript.js(实际上,第一个脚本试图以相同的方式包括其他几个脚本:-s)

0 个答案:

没有答案