gpt4 book ai didi

javascript - 在 django 网站中托管一个 "non-django app"(一个包含 index.html、一些 .js 和 .css 的文件夹)

转载 作者:行者123 更新时间:2023-12-03 04:08:56 26 4
gpt4 key购买 nike

简短简介:

我有一些“非 django html 应用程序”(一个包含 index.html、一些 .js 文件和 .css 文件的文件夹),我想在 django 网站中执行它们而不接触它们的代码。我该怎么做?

如何在 django 内工作非 django 应用程序(一个包含 index.html、一些 .js 和 .css 的文件夹)而不接触应用程序的代码?

详细信息:

我正在使用 Django 构建一个网站,我想在其中托管一些 Construct3游戏(它允许您通过 GUI 创建 HTML5)。

当您将 Construct3 游戏导出为 HTML 时,它会创建以下结构:

C3App
|_ appmanifest.json
|_ c2runtime.js
|_ data.js
|_ index.html
|_ offline.js
|_ offlineClient.js
|_ register-sw.js
|_ start.js
|_ style.css
|_ sw.js
|_ icons
| |_ icon1.png
|_ images
|_ image1.png

这就是我尝试过的:

1.- 在我的 Django 网站中,我将 C3App 放入模板文件夹中,并创建了一个名为 index.html 的 View 。结果我得到了一个空白页面,其中包含未找到错误(404):appmanifest.jsonicon1.pngstyle .cssc2runtime.jsstart.jsregister-sw.js。这是 index.html 中调用的外部文件。

2.- 由于这不起作用,我将 C3App 移至静态文件夹,并创建了一个与 index.html 内容相同但更改了引用的模板。

所以我改变了这一行:

<link rel="manifest" href="appmanifest.json" />
<link rel="icon" type="image/png" href="icons/icon-512.png" />
<link rel="stylesheet" href="style.css"/>
<script src="c2runtime.js"></script>
<script src="start.js"></script>
<script src="register-sw.js"></script>

致其他人:

{% load static %}
<link rel="manifest" href="{% static 'games/C3App/appmanifest.json' %}" />
<link rel="icon" type="image/png" href="{% static 'games/C3App/icons/icon-512.png' %}" />
<link rel="stylesheet" href="{% static 'games/C3App/style.css' %}"/>
<script src="{% static 'games/C3App/c2runtime.js' %}"></script>
<script src="{% static 'games/C3App/start.js' %}"></script>
<script src="{% static 'games/C3App/register-sw.js' %}"></script>

更改后,我收到 2 个未找到错误:data.jsofflineClient.js。在 c2runtime.js 中调用多次的两个文件。

所以c2runtime.js也需要修改。这开始变得太脏了,我在多个地方修改多个文件。因此,每次我想要对游戏进行更新时,我都需要再次修改所有这些文件。听起来像是愚蠢的工作,而且是引入错误的简单方法。

完美的场景是拖动文件夹(导出的游戏)并工作。有办法做到这一点吗?有什么想法吗?

如何在 django 内工作非 django 应用程序(一个包含 index.html、一些 .js 和 .css 的文件夹)而不接触应用程序的代码?

最佳答案

I have some “non-django html apps” (a folder with a index.html, some .js files and a .css file) and I want to execute them in a django website without touching their code. How can I do it?

有很多方法可以做到,但不应该这样做

How can I make work inside django a non-django app (a folder with an index.html, some .js and .css) withou touching the code of the app?

如上所述,如果这是一个静态非 django 应用程序(甚至是动态应用程序)。不要将它与 django 混合。 Web 服务器(Nginx、Apache)等应该负责将 django 应用程序相关的 url 路由到 WSGI 服务器。并将非 django 应用程序 URL 路由到托管它的任何内容。

PS:您 should not run the dev server in production因为它不安全。你的问题的性质给人的印象是你可能会这样做。

关于javascript - 在 django 网站中托管一个 "non-django app"(一个包含 index.html、一些 .js 和 .css 的文件夹),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44417589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com