Ist es möglich, gerenderte HTML-Ausgaben in IPython-Ausgaben einzubetten?
Eine Möglichkeit ist zu verwenden
from IPython.core.display import HTML
HTML('<a href="http://example.com">link</a>')
oder (IPython-Alias für mehrzeilige Zellen)
%%html
<a href="http://example.com">link</a>
Welche geben einen formatierten Link zurück, aber
- Dieser Link öffnet keinen Browser mit der Webseite selbst über die Konsole . IPython-Notebooks unterstützen jedoch ehrliches Rendern.
- Ich weiß nicht, wie
HTML()
ich ein Objekt beispielsweise in einer Liste oder einerpandas
gedruckten Tabelle rendern soll . Sie können dies tundf.to_html()
, ohne jedoch Verknüpfungen innerhalb von Zellen herzustellen. - Diese Ausgabe ist in der PyCharm Python-Konsole nicht interaktiv (da es sich nicht um QT handelt).
Wie kann ich diese Mängel beheben und die IPython-Ausgabe etwas interaktiver gestalten?
python
html
ipython
jupyter-notebook
Anton Tarasenko
quelle
quelle
HTML()
tut, aber ich konnte die Punkte 1 und 2 immer noch nicht lösen.Antworten:
Das scheint bei mir zu funktionieren:
Der Trick besteht darin, es auch in "Anzeige" zu verpacken.
Quelle: http://python.6.x6.nabble.com/Printing-HTML-within-IPython-Notebook-IPython-specific-prettyprint-tp5016624p5016631.html
quelle
Vor einiger Zeit haben Jupyter Notebooks begonnen, JavaScript aus HTML-Inhalten zu entfernen [ # 3118 ]. Hier sind zwei Lösungen:
Lokales HTML bereitstellen
Wenn Sie jetzt eine HTML-Seite mit JavaScript in Ihre Seite einbetten möchten, ist es am einfachsten, Ihre HTML-Datei mit Ihrem Notizbuch im Verzeichnis zu speichern und dann den HTML-Code wie folgt zu laden:
Remote-HTML bereitstellen
Wenn Sie eine gehostete Lösung bevorzugen, können Sie Ihre HTML-Seite in einen "Bucket" von Amazon Web Services in S3 hochladen, die Einstellungen in diesem Bucket so ändern , dass der Bucket eine statische Website hostet, und dann eine Iframe-Komponente in Ihrem Notizbuch verwenden:
Dadurch werden Ihre HTML-Inhalte und JavaScript in einem Iframe gerendert, genau wie auf jeder anderen Webseite:
quelle
Verwandte Themen: Beim
def _repr_html_(self): ...
Erstellen einer Klasse kann eine benutzerdefinierte HTML-Darstellung ihrer Instanzen erstellt werden:wird gerendert als:
Weitere Informationen finden Sie in den IPython-Dokumenten .
Ein fortgeschrittenes Beispiel:
Wird rendern:
quelle
Wenn Sie @Harmon oben erweitern, können Sie die Anweisungen
display
und möglicherweiseprint
bei Bedarf miteinander kombinieren . Oder vielleicht ist es einfacher, einfach Ihren gesamten HTML-Code als eine Zeichenfolge zu formatieren und dann die Anzeige zu verwenden. So oder so, nette Funktion.Gibt ungefähr so aus:
Hallo Welt!
Hier ist ein Link:
www.google.com
noch etwas gedruckter Text ...
Absatztext hier ...
quelle