<a href = "{% url 'ngraph' %}">Customer Count</a>
当我点击客户计数时,它只运行一次并使其工作我必须再次运行程序,这里有什么问题?我注意到的是,一旦链接localhost:8000 / graph是(客户计数)点击,工作但忙于localhost:8000并且不起作用。怎么解决?
def graph(request):
age = ['below 20', '20-22','22-24','24-26','26-28','28-30','30-40','above 40']
avg_call_group = [0, 0, 0, 0, 0, 0, 0, 0]
cursor = connection.cursor()
cursor.execute("select p.age_group,sum(c.avg_duration) as age_avg_dur from demo p,(select card_no as card_n, avg(duration) as avg_duration from call_details where service_key = 1 and card_no =calling_no group by card_no) as c where p.card_no = c.card_n group by p.age_group ")
numrows = int(cursor.rowcount)
for x in range(numrows):
row = cursor.fetchone()
avg_call_group[x] = row[1]
cursor.close()
import matplotlib.pyplot as plt
f=plt.figure(figsize = (3,3))
exploding = [.04, .04, .04, .04 , .04, .04, .04, .04]
age = ['below 20', '20-22','22-24','24-26','26-28','28-30','30-40','40-50']
plt.pie(avg_call_group, labels= age, autopct='%1.3f%%', explode = exploding)
canvas = FigureCanvasAgg(f)
response = HttpResponse(content_type='image/png')
canvas.print_png(response)
return response
from django.conf.urls import patterns, include, url
from welcome.views import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^hello/', hello, name = 'nhello'),
url(r'^graph/', graph, name = 'ngraph'),
)
<div >
<a href = "{% url 'ngraph' %}">Customer Count</a>
</div>
替代源代码位置: click here
答案 0 :(得分:1)
在返回您的视图代码时,请执行重定向。类似的东西: -
return render_to_response('graph.html', context_instance=RequestContext(request))
答案 1 :(得分:1)
我不知道你是否还需要答案,但我解决了这样的确切问题:
matplotlib.use('Agg') # After you import
# And these lines at the end
fig.clf()
plt.close()
plt.clf()
del var_grid
gc.collect()