Django 使用 javascript 提供静态 html 文件

Django serving static html file with javascript

我有一个奇怪的情况,我试图提供一个静态 index.html 文件,其中包含来自 webpack 的 javascript 包,用于 vue.js 文件,但它正在发送javascript 文件内容不正确。

我试过将 html 文件作为模板视图发送,并简单地读取文件内容并将其作为 html 响应发送。它正确地发送 html 文件本身,但它没有发送 javascript 文件的内容,而是将 index.html 内容复制到 javascript 文件中。

我检查以确保我没有不小心用 html 内容覆盖 javascript 文件,但事实并非如此,javascript 的格式正确,但是当它被发送到浏览器这是看到的:

index.html:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>testprojsimple</title>
  </head>
  <body>
    <div id="app"></div>
    <script src="js/myvuejs.bundle.js"></script>
  </body>`
</html>

myvuejs.bundle.js:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>testprojsimple</title>
  </head>
  <body>
    <div id="app"></div>
    <script src="js/myvuejs.bundle.js"></script>
  </body>`
</html>

关于为什么将 index.html 内容也作为 javascript 文件重新发送有什么想法吗?

编辑:

我目前处于开发模式,服务只需在视图中说:

def indexView(request):
    return HttpResponse(open("file/to/static/html/file/index.html").read())

Settings.py:

STATIC_ROOT = os.path.join(BASE_DIR,'static/')
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

urls.py:

urlpatterns = [
    url(r'^', indexView),
]

我的目标是避免服务器端渲染,使用客户端框架进入提供数据内容的 django 后端,例如 json,等等...

正则表达式 ^ 匹配每个 URL;它只是意味着 "any string that starts",这当然是每个字符串。您还应该终止该模式:^$,以便它只捕获空字符串。