Skip to main content

Implements a XML/HTML/XHTML Markup safe string for Python

Project description

Implements a unicode subclass that supports HTML strings:

>>> from markupsafe import Markup, escape
>>> escape("<script>alert(document.cookie);</script>")
Markup(u'&lt;script&gt;alert(document.cookie);&lt;/script&gt;')
>>> tmpl = Markup("<em>%s</em>")
>>> tmpl % "Peter > Lustig"
Markup(u'<em>Peter &gt; Lustig</em>')

If you want to make an object unicode that is not yet unicode but don’t want to lose the taint information, you can use the soft_unicode function:

>>> from markupsafe import soft_unicode
>>> soft_unicode(42)
u'42'
>>> soft_unicode(Markup('foo'))
Markup(u'foo')

Objects can customize their HTML markup equivalent by overriding the __html__ function:

>>> class Foo(object):
...  def __html__(self):
...   return '<strong>Nice</strong>'
...
>>> escape(Foo())
Markup(u'<strong>Nice</strong>')
>>> Markup(Foo())
Markup(u'<strong>Nice</strong>')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MarkupSafe-0.9.2.tar.gz (10.5 kB view details)

Uploaded Source

File details

Details for the file MarkupSafe-0.9.2.tar.gz.

File metadata

  • Download URL: MarkupSafe-0.9.2.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for MarkupSafe-0.9.2.tar.gz
Algorithm Hash digest
SHA256 d2a1980ea5bae80a999dad6aafe1ad2f0440522630caeecb84ffe061c8054342
MD5 69b72d1afdd9e808f9c1ef65f819c7a6
BLAKE2b-256 3683400b5f58bfa88f96bc68ccd963990c80549a2825d0777bd838f03d8f0b42

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page