如何在Django中提供WASM文件



我使用:

将我的C文件编译为wasm
emcc main.c -s USE_SDL=2 -O3 -s WASM=1 -o main.js

我只使用WASM来操作画布。除了"glue"之外,没有其他JS代码。js代码。

我现在有一个目录(在Django之外,就在我的Documents文件夹的某个地方),里面有这些文件:

- home.hml
- main.c
- main.js
- main.wasm

我可以使用任何web服务器例如

python3 -m http.server 8000 --bind 127.0.0.1 

并在浏览器中查看动画。这是有效的。到目前为止没有问题。

我现在想从Django中提供home.html。我的url .py有:

path('', views.home, name='home'),
def home(request):
context = {}
return render(request, 'app/home.html', context)

我已经复制home.html到app/templates/app

然后将main.js复制到app/static/app

然后我修改home.html来替换:

<script src="main.js"></script>

<script src="{% static 'app/main.js' %}" type="text/javascript"></script>

我不知道该怎么处理main.wasm。这也应该放到静态文件夹还是放到项目根目录?我需要为此添加一个显式导入吗?我怎么能得到我的home.html的行为一样,因为它是一个简单的httpserver,但从Django服务?

请注意,home.html中的所有DOM元素都正确显示为画布之外的位置。所以我相对确定一切都设置正确,除了main。Wasm不可访问

在浏览器开发人员工具的"Network"选项卡中查看浏览器发出的HTTP请求。也许URL中的路径是错误的,或者Django返回了一个不正确的Content-Type。

相关内容

  • 没有找到相关文章

最新更新