Ich möchte in eine Zelle einer Pandas Tabelle einen gewöhnlichen HTML-Link einfügen, die Tabelle anschließend zu HTML rendern und in einem Django Template anzeigen lassen. Der Link ist ein Querystring. Der folgende Code funktioniert grundsätzlich, aber der HTML-Query-String wird nicht korrekt gerendert. Ich versuche schon einen Tag lang herauszufinden, wie man den Link im Python Code konstruieren muß, damit im HTML ein gültiger Link rauskommt. Im HTML-Quellcode fehlt hier immer ein Teil des Links und der schließende </a> Tag. Warum?
Quellcode-Ergebis: http://imgur.com/a/o95mZ
views.py
Code: Alles auswählen
def test(request):
table = pd.DataFrame({'Link': ['']})
# Parameter, die in den Link eingebaut werden
num1 = '12345bla'
num2 = 'bla67890'
# Hier wird der Link gebaut
link = f'<a href="/pdf/?number={num1}&mdate={num2}">PDF</a>'
# Das Komische: Mit nur einem Parameter geht es.
# link = f'<a href="/pdf/?number={num1}">PDF</a>'
# Hier wird er in die Tabelle eingesetzt
table.set_value(index=0, col='Link', value=link)
# Und hier wird die Tabelle zu HTML gerendert, aber mit nem nicht funktionierenden Link. Warum?
htmltable = table.to_html(index=False, border=1, justify='left', escape=False)
return render(request, 'test.html', {'table': htmltable})
[codebox=html5 file=Unbenannt.html]<!DOCTYPE html>
<html>
<head></head>
<body>
{% autoescape off %}
{{ table }}
{% endautoescape %}
</body>
</html>[/code]
Das Codebeispiel ist natürlich wieder auf ein Minimum reduziert, um das Problem darzustellen. Später soll eine riesige Tabelle mit tausenden Links generiert werden.