Python Templates¶
Python Templates is an Apache2 licensed html templating library, written in pure-Python, including popular HTML templates like Bootstrap.
TODO¶
Python Templates is a work-in-progress.
- Improve semantic components?
- What should be a function vs class? Currently, it’s mostly just inheritance with methods. That feels basic to me. At the other extreme is an element-tree api with visitor pattern. I think the significance of this project is finding the balance between those too.
- This project seems to go against “flat is better than nested”. But I like the idea of using regular Python for template features like: if-statements, for-loops, and inheritance.
- Add more front-end frameworks.
- Reference: https://github.com/troxler/awesome-css-frameworks
- Normalize.css
- Pure.css
- Milligram.css
- Bootstrap, add more examples.
- Semantic UI
- Foundation
- Bulma
- UIkit
- Materialize
- Demo project ideas:
- Link shortener
- E-commerce page
- Blog
- Include images, fonts, icons?
- See also:
- Dominate: https://github.com/Knio/dominate
Testimonials¶
Does your company or website use Python Templates? Send us a message and let us know.
Features¶
- Pure-Python
- Popular HTML templates included!
Quickstart¶
Installing Python Templates is simple with pip:
$ pip install templates
You can access documentation in the interpreter with Python’s built-in help function. The help works on modules, classes and methods in Python Templates.
>>> import templates
>>> help(templates)
>>> from templates import bootstrap
>>> help(bootstrap)
>>> help(bootstrap.Starter)
>>> help(bootstrap.Jumbotron)
There’s also a demo which you can run using bottle:
$ pip install bottle
$ python -m templates.demo
Useful Links¶
Python Templates License¶
Copyright 2018 Grant Jenks
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.