Django easy_pdf easy_pdf未定义

时间:2014-12-11 15:44:43

标签: django pdf-generation pip

我的问题可能很容易解决,但我真的不知道如何处理它。 它找不到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 *

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这不是Django问题,而是基本的Python问题。

执行from easy_pdf import *时,未定义名称easy_pdf:而是将该名称下的所有元素导入当前名称空间。这很少是有用的事情。相反,只需import easy_pdf