在django网站上托管“非django应用程序”(index.html,一些.js和.css文件夹)

时间:2017-06-07 15:57:27

标签: javascript html django

简短说明:

我有一些“非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的视图。结果我得到了一个空白页面,其中找不到错误(404): appmanifest.json icon1.png 样式.css c2runtime.js start.js register-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 not found 错误: data.js offlineClient.js 。在 c2runtime.js 中多次调用两个文件。

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

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

如何通过触摸应用程序的代码在django中创建一个非django应用程序(带有index.html,某些.js和.css的文件夹)?

1 个答案:

答案 0 :(得分:1)

  

我有一些“非django html apps”(一个带有index.html的文件夹,有些   .js文件和.css文件)我想在django中执行它们   网站没有触及他们的代码。我该怎么办?

有很多方法可以,但你不应该

  

如何通过触摸应用程序的代码在django中创建非django应用程序(带有index.html,某些.js和.css的文件夹)?

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

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