【问题标题】:Django: return HTML file including scriptDjango:返回包含脚本的 HTML 文件
【发布时间】:2015-05-22 04:13:16
【问题描述】:

我正在开发一个名为“bookMarks”的单页应用程序,使用 HTML+CSS+jQuery 作为前端,使用 Django 作为后端。我创建了一个 Django 项目并将我的 app.html+app.js+app.css+jquery.js 放在 /static 中。

我的问题是:我希望我的视图在不使用 Django 模板的情况下返回 app.html。我试过这个:

#app/views.py
from django.shortcuts import render_to_response, HttpResponse
import urllib
def index(request):
    index = urllib.urlopen('static/app.html').read()
    return HttpResponse(index)

#static/app.html
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <title>My Bookmarks</title>
    <link type="text/css" rel="stylesheet" href="app.css">
    <script src="jquery.js"></script>
    <script type='text/javascript' src="app.js">
    jQuery.noConflict();
    </script>
</head>
<body>
    <div id="title">
        Easy-Save Bookmarks
    </div>
    <div class="left">
        <h3 class="tag">News</h3>
            <div>
                <p> A book mark here!</p>
            </div>
        <h3 class="tag">Reading</h3>
            <div>
                <p> A book mark here!</p>
            </div>
            <div id="newTag"></div>
            <div>
                <form name="addTagForm">
                    <input type="text" name="newTag">
                    <input id="addTag" type="button" value="Add a new tag">
                </form>
            </div>
    </div>
    <div class="right">
    </div> 
</body>
</html>

但似乎所有的 JS 和 CSS 效果都被忽略了。

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 为什么要这样做?正确渲染模板有什么问题?
  • 是的,这是我渲染模板的第二选择,但我一直想知道是否有一些简单的方法可以在没有模板的情况下做到这一点。这样我就不浪费自己写的html文件了。
  • 有什么比在 Django 中渲染模板更简单的呢?现有的 html 文件是如何被浪费的?
  • 您可以直接使用您的 app.html 作为模板,而无需更改任何内容 - 这会将您的 views.py 缩短为在线用户。但是,我怀疑 js 和 css 会被找到:路径必须设置为 src='/static/apps.js'

标签: javascript html django


【解决方案1】:

最后我发现那是因为我没有以绝对的方式包含我的 js+css 文件。

现在,当我将 HTML+JS+CSS 文件放入 my_app/static/ 并包含绝对 该视图将正确返回我的 html。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    相关资源
    最近更新 更多