0

これに対する簡単な答えがあることは知っていますが、見つけられませんでした。私のviews.pyには、ページの読み込み時に実行するjavascript onload関数を追加することを目的とした関数があります。ページはスクリプトで読み込まれますが、スクリプトは実行されません。下記参照:

from django.template.response import TemplateResponse
t = TemplateResponse(request, 'viewer/index.html', {})
t.render()
t.content = t.content + "<script type='text/javascript'>window.onload=function(){alert('here');}" + "</script>"
return t
4

2 に答える 2

3

テンプレートにスクリプトを追加するだけではどうですか? それとも、専用の JavaScript ファイルで?Django ビューは、スクリプトを生成するのに適したプレートではありません。コード エラーが発生しやすくなり、読み取りやデバッグが難しくなります。

Python から js に変数を渡す必要がある場合は、次のようなものを使用できます。

from django.template.response import TemplateResponse
context = {
    'variable': value,
}
t = TemplateResponse(request, 'viewer/index.html', context)

そしてあなたのテンプレートで:

<html>
<head></head>
<body>
…
var config = {
    'variable': {{ variable }}
}
<script type="text/javascript" src="path/to/script.js"></script>
</body>

于 2013-10-31T09:02:53.093 に答える