抱歉我的英语不好。 我用
{% ishout.js %}
在 head 里面,在django模板中渲染脚本文件,但它们显示为字符串
"<script type="text/javascript" src="http://localhost:5500/socket.io/socket.io.js"></script>
<script type="text/javascript" src="http://localhost:5500/client/ishout.client.js"></script>"
并且正文内部 head 。 之后的其他脚本也会显示在正文中。
我搜索并通过编码找出,但我找不到如何解决它。
更新 这是views.py文件
@login_required
def home(request):
users = User.objects.exclude(id=request.user.id)
v = RequestContext(request, {'users':users})
# return render(request, 'home.html', {'users':users})
return render_to_response('home.html', v)
这是home.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Home</title>
{% load drealtimetags %}
{% ishout_js %}
</head>
<body>
<h1>Dashboard</h1>
{% for user in users %}
{{ user.first_name }}<a href="/alert/?user={{ user.id }}">Alert (Hello)</a>
{% empty %}
<b>No user found</b>
{% endfor %}
</body>
</html>
更新2: 这是页面来源
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Home</title>
<script type="text/javascript" src="http://localhost:5500/socket.io/socket.io.js"></script>
<script type="text/javascript" src="http://localhost:5500/client/ishout.client.js"></script>
<script>
ishout.on('alertchannel', function(data){
alert(data.msg);
});
ishout.init();
</script>
</head>
<body>
<h1>Dashboard</h1>
phuc<a href="/alert/?user=2">Alert (Hello)</a>
<a href="/alert/?user=3">Alert (Hello)</a>
</body>
</html>
当我检查时
<html lang="en">
<head>
<meta charset="utf-8">
<title>Home</title>
</head>
<body>
<script type="text/javascript" src="http://localhost:5500/socket.io/socket.io.js"></script>
<script type="text/javascript" src="http://localhost:5500/client/ishout.client.js"></script>
<script>
ishout.on('alertchannel', function(data){
alert(data.msg);
});
ishout.init();
</script>
<h1>Dashboard</h1>
phuc<a href="/alert/?user=2">Alert (Hello)</a>
<a href="/alert/?user=3">Alert (Hello)</a>
</body>
答案 0 :(得分:0)
由于您要包含每个js文件,并且希望将其呈现并解释为html脚本标记,因此请尝试将其设置为模板文件(88, 77, 50, 20, 5)
(90, 76, 54, 34, 15, 8, 4)
(81, 74, 62, 51, 49, 30, 22, 10, 8)
88 5
90 4
81 8
。您根本不需要更改文件的内容。
从那里,使用{%include%}
标记。它看起来像
_ishout_includes.html
答案 1 :(得分:0)
因为标签正在返回正在转义的HTML,因此浏览器会将其呈现为正文中的文本而不是<head>
中的真实HTML。
关闭代码周围的自动启动功能:
{% autoescape off %}
{% ishout_js %}
{% endautoescape %}