0

その列がクリックされたときに列に基づいて並べ替えるテーブルを電子メールで送信しようとしています。

http://tablesorter.com/docs/を見つけましたが、かなり簡単に見えました。

私はpythonを使ってhtmlを書いています。問題の関数は

def getOpportunitiesTable(opps): #formats html table for email

辞書のリストを受け取り、html を返す必要があります

html = ""
html += "<head>"
html += '<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>'
html += '<script type="text/javascript" src="http://mottie.github.com/tablesorter/js/jquery.tablesorter.js"></script>'
html += "</head>"
html += '<table id="opportunities" class="tablesorter">'
html += '<thead><tr><th>Opportunity Name</th><th>Forcasted Close Date</th><th>Pipeline Category</th><th>Stage</th><th>Priority</th></tr></thead>'

html += '<tbody>'
for o in iter(opps):
    html += "<tr>"
    #opportunity name linked to insightly's page

    html += "<td>" + '<a href="https://googleapps.insight.ly/Opportunities/Details/' + str(o['OPPORTUNITY_ID']) + '">'
    try:
        html += o['OPPORTUNITY_NAME'].encode('utf-8')
    except:
        html += '************************'
        logging.info(str(o))
    html += "</a>" + "</td>"
    html += "<td>"
    if 'FORECAST_CLOSE_DATE' in o and o["FORECAST_CLOSE_DATE"] != None: #if fclose date provided format it
        html += datetime.strptime(o["FORECAST_CLOSE_DATE"], '%Y-%m-%d %H:%M:%S').strftime('%Y-%m-%d')
    else: 
        html += ' - '
    html += "</td>"

    html += "<td>" + pipelineCategory[o['PIPELINE_ID']] if o['PIPELINE_ID'] in pipelineCategory else ' - ' + "</td>"
    html += "<td>" + stageName[o['STAGE_ID']] if o['STAGE_ID'] in stageName else ' - ' + "</td>"
    html += "<td>" + str(o["OPPORTUNITY_FIELD_5"]) + "</td>"
    html += "</tr>"

html += '</tbody>'   
html += "</table><br/>"

return html  

私の混乱は、これらの2行で発生します

html += '<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>'
html += '<script type="text/javascript" src="http://mottie.github.com/tablesorter/js/jquery.tablesorter.js"></script>'

また、送信されたテーブルを操作する HTML 電子メールを送信することを許可する必要があるという固有の問題もありますか?

どんな助けでも大歓迎です!

4

1 に答える 1