我一直在尝试从我的python脚本(view.py)中检索到我的HTML页面的数组,它看起来像这样-
def archive(request):
posts = BlogPost.objects.all()
myVal = ["Dog Toys", "Dog Bedding", "Dog Feeding", "Health & Hygiene"]
t = loader.get_template("archive.html")
c = Context({'myposts' : simplejson.dumps(myVal)})
return HttpResponse(c)我在test.html上的JavaScript看起来像这样-
<script>
var results = '{{myposts}}';
console.log(results);
</script>这里的问题是,我的数组直接打印在HTML页面上,这意味着我的页面源代码只有以下内容-
1 : {'myposts': '["Dog Toys", "Dog Bedding", "Dog Feeding", "Health & Hygiene"]'}我确信有一种方法可以克服这个问题,只是不确定怎么做,我是第一次使用Python/Django & JavaScript。
提前感谢你的帮助
发布于 2012-08-21 19:12:09
接下来,我可以补充一下地狱的答案:
var result = "{{myposts|join:'/'}}".split('/');因此,首先将python list连接到字符串,然后使用javascript将其拆分成数组。
发布于 2012-08-21 19:01:40
只管去做
from django.utils.safestring import mark_safe
c = Context({'myposts' : mark_safe(myVal))然后,您需要省略引号以获得数组:
var results = {{myposts}};发布于 2012-08-21 19:05:36
替换
var results = '{{myposts}}';使用
var results = '{% for post in myposts %} {{ post }}, {% endfor %}';您可以在html中生成javascript。您可以直接将列表传给模板:
c = Context({'myposts' : myVal})https://stackoverflow.com/questions/12053119
复制相似问题