我正在使用Django和Apache来提供网页服务.我的JavaScript代码目前包含一个数据对象,其值根据用户从选项菜单中的选择显示在各种HTML小部件中.我想从Python字典中获取这些数据.我想我知道如何在JavaScript中嵌入JavaScript代码,但是如何在该脚本中嵌入数据对象(动态),以便脚本的功能可以使用它?
换句话说,我想从Python字典创建一个JavaScript对象或数组,然后将该对象插入到JavaScript代码中,然后将该JavaScript代码插入到HTML中.
我认为这种结构(例如,嵌入在JavaScript代码中的变量中的数据)不是最理想的,但作为一个新手,我不知道其他选择.我已经看过Django序列化函数的编写,但这些对我没有帮助,直到我可以将数据放到我的JavaScript代码中.
我还没有使用像jQuery这样的JavaScript库.
这个问题必须明显,但我无法弄清楚.
在模板中,我链接到媒体目录中的js文件.从该文件中,我想访问像{{my_chart}}这样的上下文变量.
但是语法不同吗?谢谢!!
的JSON标准以一种方式定义的目的和ECMAScript的(JavaScript的)标准定义它在另一个.
通常说JSON对象是JavaScript对象的子集,这是真的吗?
每个JSON对象都是有效的JavaScript对象吗?
这个概念来自这个http://www.prepbootstrap.com/bootstrap-template/real-estate-list-map-dynamic
我在 django 模板中启用了 2 个块,左块显示设备信息(设备名称和位置信息),右块显示设备地图位置。当用户单击左侧面板时,右侧地图将通过将 Django 模板变量传递给 Javascript 例程来更改。init_map似乎不接受传递的变量。
当用户点击左列时,右图会根据经纬度进行切换,经onclick 例程传递。
模板页面如下:
{% block content %}
{% for device in devices %}
<div class="col-xs-6 col-sm-6 col-md-4 col-lg-4 ">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 ">
<div class="panel panel-default" onclick="init_map( {{ device.coordinates.latitude }}, {{device.coordinates.longitude }} );return false;">
<div class="row padall">
<div class="col-xs-12 col-sm-12 col-md-3 col-lg-3">
<span></span>
<img src="{{ device.thumbnail.url }}">
</div>
<div class="col-xs-12 col-sm-12 col-md-9 col-lg-9">
<div class="clearfix">
<div class="pull-left">
<span class="fa fa-dollar icon">{{device.name}}</span>
</div> …Run Code Online (Sandbox Code Playgroud) 在我发现数据绑定库之前,我曾经将我的数据“绑定”到 DOM。我的问题是,假设我有一个包含模型记录的表,我如何用 JS 构建该表,即将对象传递给 javascript 而不是直接在模板中构建表?
到目前为止,我发现的唯一方法是这样的:
var data = '{{data}}';
Run Code Online (Sandbox Code Playgroud)
{{data}} 对于此示例,可能是 json。
将模板代码放在 javascript 中对我来说似乎既丑陋又糟糕,而且我也不喜欢在 javascript 中使用全局变量的想法(旧方式,它不能很好地扩展)。它也不允许我把它放在外部 JS 文件中。有没有更好(和干净)的方法?
我非常了解 Python,但我对网络内容和 JavaScript 还是陌生的。我在网站 (Flask) 上找到了一篇关于从按钮调用 python 函数的帖子。
我想执行以下操作: 我想向 HTML 表中添加一个新行。数据将来自 Python。我已经发现刷新站点并不是一个好方法,而是应该使用 JavaScript。假设我有以下 HTML 代码:
<table class="table" id="myTable">
<thead>
<tr>
<th colspan="2">This is a table</th>
</tr>
</thead>
<tbody>
<tr>
<td>entry 1</td>
<td>entry 2</td>
</tr>
</tbody>
</table>
<script src="js/scripts.js"></script>
Run Code Online (Sandbox Code Playgroud)
在scripts.js中,我有以下功能(来自链接的帖子):
function appendRow(table_id) {
var table_ref = document.getElementById(table_id).getElementsByTagName('tbody')[0];
var new_row = table_ref.insertRow(table_ref.rows.length);
var new_cell = new_row.insertCell(0);
var new_text = document.createTextNode('New row');
new_cell.appendChild(new_text);
}
Run Code Online (Sandbox Code Playgroud)
现在忽略函数如何工作的细节/可以优化什么等。我真正的问题是:如何从 Python/flask 调用这个函数?
另外:如何将数据(比如 JSON 结构)传递给 JavaScript 函数?
提前谢谢了!
我正在尝试使用django/js/jquery创建一个图库页面.是否可以将django模板变量传递给javascript?我需要实现for循环:
{% for post in object_list %}
{% post.title %}
{% post.url %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
在我的基本模板中,我只需添加我的脚本:(base.html)
<script src="{{STATIC_URL}}assets/js/script.js"></script>
(function($){
var photos = [
'media/photos/1.jpg',
'media/photos/2.jpg', // I need to get them through a for loop
'media/photos/3.jpg',
'media/photos/4.jpg',
];
$(document).ready(function(){
var page = 0,
loaded = 0,
perpage = 5,
main = $('#main'),
expected = perpage,
loadMore = $('#loadMore');
main.on('image-loaded', function(){
loaded++;
NProgress.set(loaded/expected);
if(page*perpage >= photos.length){
loadMore.remove();
}
});
loadMore.click(function(e){
e.preventDefault();
loaded = 0;
expected = 0;
var deferred = …Run Code Online (Sandbox Code Playgroud) 我曾经在Django中将字典方面的变量传递给HTML模板,没有任何问题.现在我计划在HTML文件中添加一些javascript,并使用相同的方式"{{}}"从javascript中的字典中获取对象.字典中的所有对象实际上都是字符串.在Django中,代码是:
dataDict = {}
dataDict["time"] = json.dumps(",".join(timeList))
return render_to_response("xxxx.html", dataDict,\
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
在HTML页面和Javscript中,我只想使用字符串变量来接收它,然后解析我想要的信息,我们的代码是:
var test = {{ time }};
Run Code Online (Sandbox Code Playgroud)
但似乎Django无法将数据传递给Javascript中的字符串变量.所以我有两个问题:
有人对此有所了解吗?
谢谢!