【问题标题】:Cannot send data read from csv file (comma separated) to javascript using django无法使用 django 将从 csv 文件(逗号分隔)读取的数据发送到 javascript
【发布时间】:2017-05-08 18:19:32
【问题描述】:

您好,我无法使用以 javascript 分隔的文件逗号中的数据。 到目前为止,我一直在尝试在 python 中读取它并通过 django 以 json 格式将其发送到 javascript,但似乎没有任何效果。

在文件 views.py 我有:


from django.shortcuts import render

import json

def home2view(request):

        f= open('filess.csv','r' )

        reader = csv.DictReader( f, fieldnames = ( "name","lat","lng") )
        out = json.dumps( [ row for row in reader ] )
        return render(request,'index3test.html', {"out":out})

如果我打印出来,我会得到:

[{"name": "EU", "lng": "149.0321159", "lat": "-23.2869226"}, 
{"name": "ES", "lng": "120.2920532", "lat": "-20.621217"}]

为什么我不能将它发送到 javascript?这甚至没有执行(我使用 pythonanywhere),我只知道这个:

加载您的 PythonAnywhere 托管站点时出错。您的代码中可能存在错误。

错误代码:未处理的异常

我检查了错误日志,但那里什么也没有。

我认为这与我发送数据的方式有关。

【问题讨论】:

  • 我们不知道您为什么不能将它发送到 javascript。你尝试了什么?你得到了什么错误? “这甚至没有执行”是什么意思?
  • json.dumps() 返回一个字符串,所以out 的值只是一个看起来很像 json 的普通字符串。如果你想在你的 javascript 代码中把它变成一个真正的 json 对象,你必须解析它。
  • 我不知道错误在哪里,因为我只是单击重新加载来构建项目,它显示:加载您的 PythonAnywhere 托管的站点时出错。您的代码中可能存在错误。错误代码:未处理的异常
  • 什么时候出现错误?当您尝试在浏览器中加载页面时?如果是这样,Web 服务器错误日志中应该有某种错误消息。
  • 我在服务器日志上的最后一个错误是:2017-05-08 18:51:38 Not Found: /static/bootstrap/css/bootstrap.css 但我一直在尝试运行它两个几分钟前,我评论了这些行,项目的其余部分工作完美。我什至还没有收到 javascript 中的变量。错误是当我重新加载项目并加载网页时。

标签: javascript python django


【解决方案1】:

这是你的问题:

out = json.dumps( [ row for row in reader ] )

json.dumps 创建一个字符串,因此您将一个字符串发送到模板。您需要发送要通过的项目的数组(或其他一些集合)

【讨论】:

  • 但是如何转换呢?还是我应该以不同的方式阅读文件?
  • Django 模板知道如何使用 python 对象。所以你可以通过说out = [ row for row in reader ] 使out 成为一个普通的python 列表,然后在你的模板中你可以做{% for row in out %} <p>{{row.name}}, {{row.lng}}, {{row.lat}}</p> {% endfor %}
  • 它仍然无法正常工作: def home2view(request): f= open('mines.csv','r' ) reader = csv.DictReader( f, fieldnames = ( 'name',' lat','lng') ) out = [ 阅读器中的行] return render(request,'index3test.html', {'out':out})
  • 您是否已将 John Gordon 建议的模板代码添加到您的模板中?
  • 我没有从模板中调用它,因为我在构建项目时已经遇到了python问题。任何人都可以在这里放一个在python中工作的代码示例吗?只是发送变量的任何简单示例。我已经尝试了很多。提前致谢。
猜你喜欢
  • 1970-01-01
  • 2020-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多