【问题标题】:Django - 'SafeText' object has no attribute 'get'Django - 'SafeText' 对象没有属性 'get'
【发布时间】:2017-10-14 17:01:04
【问题描述】:

我正在尝试按照以下解决方案在 Highchart 的帮助下显示图表:

Passing Django Database Queryset to Highcharts via JSON

但我不断收到此错误:

“SafeText”对象没有“get”属性

这几天我一直在努力寻找。

还是新手,感谢您的帮助,伙计们!

编辑

Django:1.10
蟒蛇:3.6


views.py

class ChartData(object):
    def check_valve_data(self):
        data = {'member_no': []}

        people = Member.objects.all()

        for unit in people:
             data['member_no'].append(unit.member_no)

        return data


 def chartViewHigh(self, chartID='chart_ID', chart_type='column', chart_height=500):
     data = ChartData.check_valve_data(self)

     chart = {"renderTo": chartID, "type": chart_type, "height": chart_height, }
     title = {"text": 'Check Valve Data'}
     xAxis = {"title": {"text": 'Member'}, "categories": data['member_no']}
     yAxis = {"title": {"text": 'Data'}}

     return render_template('chart/chartViewHigh.html', {'chartID': chartID, 'chart': chart,
                                                    'title': title, 'xAxis': xAxis, 'yAxis': yAxis})

chartViewHigh.html

{% extends 'base.html' %}

{% load staticfiles i18n %}

{% block head %}
  <link href="{% static 'css/chart.css' %}" rel="stylesheet">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
      <script src="https://code.highcharts.com/highcharts.js"></script>
      <script src="https://code.highcharts.com/modules/exporting.js"></script>

 {% endblock head %}

 {% block main %}

<h1 align="center">Analysis</h1>

{% block content %}
   <div id={{ chartID }} class="chart" style="height:100px; width:100%"></div>
{% endblock %}


{% block extrajs %}
<script>
   var chart_id = {{ chartID }};
   var chart = {{ chart }};
   var title = {{ title }};
   var xAxis = {{ xAxis }};
   var yAxis = {{ yAxis }};
</script>


<script>
$(document).ready(function() {
   $(chart_id).highcharts({
       chart: chart,
       title: title,
       xAxis: xAxis,
       yAxis: yAxis,
   });
});
</script>
{% endblock %}

{% endblock main %}

urls.py

urlpatterns = patterns[
    url(r'^chartViewHigh/$', views.chartViewHigh, name='chartViewHigh'),
]

【问题讨论】:

    标签: django python-3.x highcharts


    【解决方案1】:

    看起来chartViewHigh 不是有效的 Django 视图。每个 Django 视图都将HttpRequest 对象作为其第一个参数,通常称为request - 但chartViewHigh 没有。

    有关 Django 视图的基本信息,请参阅此文档页面:https://docs.djangoproject.com/en/1.11/topics/http/views/

    看看这个问题的答案,这是同样的问题:Django + trac-wiki to html markdown 'SafeText' object has no attribute 'get' - 出现错误消息是因为函数没有接受请求并返回响应对象。

    另外我不认为render_template 是 Django 快捷方式 - 是 Fl​​ask 吗?

    【讨论】:

    • 是的,它是 Django 1.10,我忘了添加细节,很抱歉。太感谢了!现在我还有一个数据没有出现在图表中的问题:stackoverflow.com/questions/43988877/… 如果可以的话,请看一下。
    猜你喜欢
    • 2014-05-12
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 2020-04-01
    相关资源
    最近更新 更多