/    Sign up×
Community /Pin to ProfileBookmark

when i use static variables the d3 chart works perfectly, but won’t work for dynamic

The following code is one of D3’s javascript charts for the webpages with code modified slightly. I tried to assign values such as 2 and 5, and it works, but when I tried to use it as a template page in django, then django would supply both {{fooBarone}} and {{fooBartwo}} with exactly the same values. It doesn’t work despite the fact looking at the source code it’s the exact same as when I wrote the values myself in the template. Can anyone help? (EDIT:- didn’t work with the safe exception)

Django

[CODE] def drawPie(request):
if request.method == ‘POST’:
data = request.POST[‘data’]
context = {‘fooBarone’: 2, ‘fooBartwo’: 5}
return render(request, ‘poll/detail.html’, context)[/CODE]

HTML/Javascript

[CODE] <script type=”text/javascript” src=”jquery-1.8.2.min.js”></script>
<script type=”text/javascript” src=”d3.v2.js”></script>
<script type=”text/javascript” src=”d3.ay-pie-chart.js”></script>

<script type=”text/javascript”>
var get_pie_data = function()
{
var data = [];

data.push({
index: 1,
name: ‘forone’,
value: {{fooBarone}}
});

data.push({
index: 2,
name: ‘fortwo’,
value: {{fooBartwo}}
});

return data;
}

$(function(){
ay.pie_chart(‘pie-c’, get_pie_data(), {group_data: 0});
});
</script>

<style>
html, body { margin: 0; padding: 0; font: 12px/20px monospace; }

.container { overflow: hidden; margin: 20px; }

.chart { float: left; width: 400px; height: 400px; background: #eee; margin: 0 20px 0 0; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

svg { width: 100%; height: 100%; }

path.g-1 { fill: #1f77b4; }
path.g-2 { fill: #aec7e8; }
path.g-3 { fill: #ff7f0e; }
path.g-4 { fill: #ffbb78; }
path.g-5 { fill: #2ca02c; }
path.g-6 { fill: #98df8a; }
path.g-7 { fill: #d62728; }
path.g-8 { fill: #ff9896; }
path.g-9 { fill: #9467bd; }
path.g-10 { fill: #c5b0d5; }
path.g-11 { fill: #8c564b; }
path.g-12 { fill: #c49c94; }
path.g-13 { fill: #e377c2; }
path.g-14 { fill: #f7b6d2; }
path.g-15 { fill: #7f7f7f; }
path.g-16 { fill: #c7c7c7; }
path.g-17 { fill: #bcbd22; }
path.g-18 { fill: #dbdb8d; }
path.g-19 { fill: #17becf; }
path.g-20 { fill: #9edae5; }

svg > g.label { text-anchor: middle; }

svg > g.labels g.label { -moz-pointer-events: none; -webkit-pointer-events: none; -o-pointer-events: none; pointer-events: none; }
svg > g.labels g.label rect { stroke: none; fill: #fff; fill-opacity: .5; shape-rendering: crispEdges; }
svg > g.labels g.label text { font-size: 12px; text-anchor: left; }
svg > g.labels g.label.active rect { fill-opacity: 1; }
</style>
</head>
<body>
<div class=”container”>
<div class=”chart”>
<svg class=”pie-c”></svg>
</div>
</div>[/CODE]

to post a comment
JavaScript

1 Comments(s)

Copy linkTweet thisAlerts:
@AndNewbauthorJul 08.2014 — Can't find an edit button, so I will just add this information here (the edit above is from original stackoverflow thread)

Edit:- Turns out it still doesn't work directly writing the numbers, it only works when I access the file directly (running the file as browser, instead of calling it through a function), but I just tried the same code, once through direct access and the other through a function, only direct access works, so it seems the problem has to do with calling it (still didn't find out the problem)
×

Success!

Help @AndNewb spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.19,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...