当前位置: 首页 > 面试题库 >

Django:使用Javascript解析模板中的JSON

裘臻
2023-03-14
问题内容

我认为:

string_location = myaddress2
    geodata = []
    for place, (lat, lng) in g.geocode(string_location,exactly_one=False):
        geodata.append((place, (lat, lng)))

    geodata_results = len(geodata)

    data = {"geodata": geodata, "geodata_results":geodata_results }
    return render_to_response("business/business_view.html",
                              data, context_instance=RequestContext(request))

如何将 地理数据 “处理” /转换为JSON并将其传递到模板,以便像数组一样“循环”通过它?

我认为我可以这样做是对的吗?如果没有,请提出更好的解决方案。

谢谢!

更新

var geodata = "[["M. L. Quezon Street<br/>Mandaue City, Philippines", [10.351381999999999, 123.923535]], ["Talamban<br/>Cebu City, Philippines", [10.353527, 123.91352500000001]]]";

我认为JSON无法逃脱?如何在json字符串中转义特殊字符?我不断收到换行错误。

对于PHP,我将使用json_encode()进行修复。


问题答案:

您可以使用内置json模块:

>>> import json
>>> geodata = [ ( "Here", (1003,3004) ), ("There", (1.2,1.3)) ]
>>> json.dumps(geodata)
'[["Here", [1003, 3004]], ["There", [1.2, 1.3]]]'

然后,您可以简单地将结果字符串嵌入javascript脚本中:

<script type='text/javascript'>
var geodata = {{ geodata|safe }};
</script>


 类似资料:
  • PyCharm 是否可以解析 Django 模板中的引用?即,一些代码完成支持,当 Ctrl 单击模板变量时,我们应该转到相关的 python 对象。 Jetbrains网站对Django模板有一些令人印象深刻的魔力: 代码补全适用于Django标签、过滤器、模板变量和从视图方法传递的参数。 对Dobbs博士的评论证实了这一功能。但我似乎无法实现: 我已经从我的 virtualenv 设置了正确的

  • 问题内容: 我可以在Javascript中使用Django的模板标签吗?就像在jQuery中使用动态向页面添加表单一样。 问题答案: 是的,我经常这样做。您的javascript必须通过django提供,但是如果您只是将html标头中的javascript作为内联javascript放上了,那就可以了。 例如:我用它在我使用的动态表单上加上前缀。 请注意,在“ base.html”中,我有一个ht

  • 我在Django项目中执行Javascript代码时遇到麻烦。 下面的操作很好--即不使用模板继承 HTML: test.js 由于上面的外部Javascript文件test.js已经成功执行,所以我假设静态url、静态DIR等的设置是正确的。还有,既然jquery已经起作用了,我假设先jquery再js代码的顺序也是正确的。 当我使用模板继承时,问题就来了。 基本HTML: 继承的模板: 但是,

  • PyCharm在我的Django项目中找不到模板、模板标签或静态文件,即使项目本身设置正确并正常工作。 我正在使用具有以下布局的Django: 以及如下设置: 更新: 在IDE首选项中,我已经配置了项目根目录的路径,< code>settings.py和< code>manage.py。此外,我已经配置了项目解释器(我现在从IDE运行runserver,没有任何问题)。

  • 问题内容: 我正在寻找一种使用django中的模运算符之类的方法。我想做的是在循环中的每个第四个元素中添加一个类名。 使用模数,它看起来像这样: 当然,这是行不通的,因为%是保留字符。还有其他方法吗? 问题答案: 您需要divisibleby(内置的django过滤器)。

  • 上一节中,我们简单介绍了模板相关的概念,并手动实践了 python 中的两个流行的模板库 Mako 和 Jinja2。接下来,我们将深入了解如何在 Django 中使用模板系统。 1. Django 中的模板系统 Django 中自带了一个模板系统,叫做 Django Template Language (DTL),通过该引擎,我们可以方便的加载模板文件到内存中进行编译并动态插入数据,最后返回转换