我正在研究一个Django项目。我想从Django的views.py中将数据传递给JavaScript文件,运行js函数,然后将返回值呈现到我的html页面中。我没有在这个项目中使用表格。有人能指导我如何处理这个问题吗?我在这里看到的大多数答案都是过时的,我尝试过不同的方法,但没有运气。我正在使用Python v2.7。先谢谢你!如何将Django数据传递给外部JS文件?
2
A
回答
1
如果您的项目使用Jinja或其他模板引擎,您可以尝试将数据传递到模板中。
在Writing your first Django app, part 3找到了这一点,并调整了一下。
def index(request):
template = loader.get_template('app/index.html')
my_data = ['whatever your data is']
context = {
'my_data': my_data,
}
return HttpResponse(template.render(context, request))
而且index.html中
<html>
<head>
// import jQuery
</head>
<body>
<div id='my_data_label'></div>
<script type="text/javascript">
var my_data = "{{ my_data }}"; // gets set by jinja
$('.my_data_label').text(my_data);
// do whatever with the data
</script>
</body>
</html>
不知道这是你在寻找什么,但希望它帮助。
0
这可能是一个好主意,直接呈现页面模板上的<script>
标记内的JavaScript数据。如果要在多个页面中使用它,请确保将其包含在基本模板中或使用include将其导入。
你的看法可能类似于一个标准的Django视图:
def detail(request, poll_id):
try:
p = Poll.objects.get(pk=poll_id)
except Poll.DoesNotExist:
raise Http404("Poll does not exist")
return render(request, 'polls/detail.html', {'poll': p})
模板将有一些额外的逻辑来构建JavaScript对象:
<script>
var questionset = {
{% for q in poll.question_set %}
q.id : {
"title": "{{ q.title }}",
"score": {{ q.score }}
}
{% if not loop.last %},{% endif %}
{% endfor %}
}
</script>
现在,您在您的处置中有一个JavaScript对象该模板从数据动态构建而成。你可以使用它,请你:
<script>
function doSomething(questionset){
...
}
</script>
有一些方法可以将数据保存到一个javascript文件,但请记住,这得到由客户端的浏览器缓存。这不是一个好主意,有动态数据。
相关问题
- 1. 如何将Vue js方法范围的数据传递给外部JS文件?
- 2. 如何将变量传递给asp.net中的外部JS文件?
- 3. 将HTML值传递给外部JS文件,然后传递给PHP文件
- 4. 如何会话值传递给外部JS文件
- 5. 如何将json数据传递给.js文件
- 6. 如何将数据传递给Vue JS组件?
- 7. 将数组传递给外部js通过去
- 8. 如何使用gulp将参数传递给角度js文件
- 9. 如何将文件传递给函数?
- 10. 将数据值从HTML传递给JS
- 11. 将变量传递给JS文件
- 12. 将php值传递给js文件
- 13. JS $ .get或$ .getScript将数据传递给文件
- 14. 将数据传递给reminder.blade文件
- 15. Django。不将外键传递给模板
- 16. 将变量传递到符合W3C的外部js文件
- 17. 如何将main的argv []值传递给外部函数
- 18. 如何将参数传递给Perl的外部进程?
- 19. 如何将字符串数组传递给外部DLL?
- 20. android tracking-如何将外部参数传递给应用程序?
- 21. Laravel 5.1将数据传递给部分
- 22. 如何PHP值传递给外部JavaScript文件
- 23. 我如何将js数据传递给php?
- 24. 如何将数据从节点js传递给html。?
- 25. 如何将JS变量传递给AJAX数据?
- 26. 如何将变量传递给JS文件
- 27. 如何将变量从html表单传递给.js文件?
- 28. 如何将json值php传递给js
- 29. 将模型数据传递给外部javascript
- 30. 将PowerShell $ _传递给外部命令
OMG谢谢!我忘了将“my_data”传递给上下文。你知道我可以将“my_data”传递给.js文件吗?另外,如果我要走这条路线,如果我通过多个变量,会不会是一个问题?再次感谢! :) – Marvin
看到我的评论以上使用外部JavaScript文件(扰流:这很容易)的变量。对于您使用的对象数量当然没有限制。 –