Django使用javascript

时间:2018-05-20 18:49:55

标签: django django-staticfiles

我有一个奇怪的情况,我正在尝试提供一个静态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等......

1 个答案:

答案 0 :(得分:1)

正则表达式^匹配每个网址;它只是意味着“任何字符串开始”,当然这是每个字符串。您也应该终止模式:^$,以便它只捕获空字符串。