我的问题可能很容易解决,但我真的不知道如何处理它。
它找不到easy_pdf,但它已经安装好了。这是我想要使用它的view
:
def ReportRequest(request):
if not request.user.is_authenticated():
return HttpResponseRedirect('/login/')
if request.method == 'POST':
form = ReportForm(request.POST)
if form.is_valid():
usrname = request.user
q = Training.objects.filter(user=usrname, date__range=[form.cleaned_data['start'], form.cleaned_data['end']], type=form.cleaned_data['type'])
quantity = q.count()
if quantity == 0:
return HttpResponseRedirect('/notrainings/')
start = form.cleaned_data['start']
end = form.cleaned_data['end']
type=form.cleaned_data['type']
avg_distance = q.aggregate(Avg('distance'))
avg_calories = q.aggregate(Avg('caloriesBurnt'))
sum_length = q.aggregate(Sum('length'))
sum_distance = q.aggregate(Sum('distance'))
sum_calories = q.aggregate(Sum('caloriesBurnt'))
athlete = request.user.profile
filename = "raport.pdf"
template = "report.html"
context = {'form':form, 'start':start, 'end':end, 'athlete':athlete, 'q':q,
'type':type, 'avg_calories':avg_calories,'avg_distance':avg_distance,
'avg_calories':avg_calories, 'sum_distance':sum_distance, 'sum_calories':sum_calories}
# return render_to_response('report.html', contekst, context_instance=RequestContext(request))
return easy_pdf.rendering.render_to_pdf_response(request, template=template, context=context, filename=filename, encoding=u'utf-8', **kwargs)
else:
return render_to_response('reportform.html', {'form':form}, context_instance=RequestContext(request))
else:
form = ReportForm()
return render_to_response('reportform.html',{'form':form}, context_instance = RequestContext(request))
它返回NameError at /reportform global name 'easy_pdf' is not defined
,但我已经安装了easy_pdf。以下是与imports
easy_pdf
from easy_pdf.views import PDFTemplateView
from easy_pdf import *
任何帮助将不胜感激。
答案 0 :(得分:0)
这不是Django问题,而是基本的Python问题。
执行from easy_pdf import *
时,未定义名称easy_pdf
:而是将该名称下的所有元素导入当前名称空间。这很少是有用的事情。相反,只需import easy_pdf
。