2017-09-20 13 views
0

こんにちは私はdjango templated-docsを使用してpdf請求書を生成していますが、挑戦は/ tmp /(ubuntuのルートディレクトリ)にファイルを生成しています。ここではDjangoのディレクトリには、私のコードです:これをしてください行う方法のアイデアを持っDjangoは/ tmp/tmpにtmpファイルを作成するテンプレート文書

""" 
    Mail Receipt 
    """ 
    ctx = { 
     "customer_names": receipt.customer_full_name, 
     "customer_phone": receipt.phone_number, 
     'date_assessed': receipt.date_time.strftime('%d-%m-%Y %H:%M'), 
     'grand_total': gross, 
     "amount": total, 
     "invoice_number": receipt.invoice_number, 
     "smart_card_no": receipt.smart_card_number, 
     "receipt_signature": response['signature'], 
    } 
    print "***********Generating Pdf Invoice now" 
    filename = fill_template(template_name='email_templates/invoice.ods', output_format='pdf', context=ctx) 
    print '************************** Finished generating file *******************' 
    visible_filename = 'invoice.{}'.format('pdf') 

    f = FileResponse(filename, visible_filename) 
    # print 'Tmp File name {}'.format(f) 
    print f 
    # fs = FileSystemStorage(f) 
    # filename = fs.save(filename, f) 
    # invoice = os.path.join('files/' + filename) 
    import shutil 
    import os 

    source = os.listdir("/tmp/") 
    destination = os.path.join('files/invoice_{}.pdf'.format(receipt.invoice_number)) 
    for files in source: 
     if files.endswith(".pdf"): 
      shutil.move(files, destination) 

    # print 'Invoice Generated {}'.format(invoice) 
    # 
    msg = EmailMessage("Sales Receipt", "Receipt", '[email protected]', [receipt.email_address]) 
    msg.attach_file(destination) 
    msg.send(fail_silently=True) 
    print 'Sent Invoice' 

誰でも、

答えて

1

あなたは、ソースを取っている:

source = os.listdir("/tmp/") 

テイクsourc eをdjangoディレクトリの絶対パスとして指定します。

+0

まだ動作していません@msarora –