GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing www.fullstackpython.com — TurboGears TurboGearsTurboGears, born as a full stack layer on top of Pylons, is now a standalone WSGI web framework that can act both as a full stack framework (like Django) or as a micro framework (like Flask) Originally inspired by RubyOnRails it's based on MVC where the controller dispatches the request to a set of actions exposed from the controller itself. TurboGears, in its full stack mode, provides all the features you would require during development of a web application:
It's also one of the few web frameworks officially supporting MongoDB as one of the primary storage backends, including support into the TurboGears Admin to autogenerate CRUDs from MongoDB models. While TurboGears has always been a full stack framework with same scope of projects like Django, it differentiates from other frameworks due the its philosophy on two major parts of a web framework: Templating and Routing TemplatingWhile TurboGears provides support for multiple template engines, the primary one has always been a fully validated XML template engine. Currently TurboGears ships with the Historically validated xml template engines has always been slower than text template engines, but the Kajiki project was able to create a very fast template engine that usually renders faster than Mako or Django Template while still retaining all the expected features. The fact that it relies on a validated XML engine provides some benefits compared to plain text engines like Django Template, Jinja2 and Mako: Automatic EscapingIt automatically escapes content rendered into the template, thus making easier to avoid XSS and injection security issues: <div>${value}</div> with <div><script>alert("hello")</script></div>; thus preventing any form of injection from user provided content. Automatic InternationalizationThe template engine parses the provided template document and recognises the nodes that contain static text. As the engine is able to distinguish text from markup it's able to flag the text for translation. Content like Compatibility with WYSIWYG EditorsAs the template engine syntax is purely valid XHTML the template itself can be opened with WYSIWYG editors and as far as they don't strip unknown attributes the template can be edited and saved back from those editors. RoutingMost web frameworks have been relying on regular expressions to declare routing, through decorators or through a routing map. TurboGears supports regular expressions through the In Object Dispatch a root controller object is traversed while resolving the URL. Each part of the url path is mapped to a property of the controller (Which might point to a sub controller) until a final callable action is encountered. This leads to a very natural mapping between URLs and the code serving them, allowing people with minimal knowledge of a project to jump in and quickly find actions in charge of serving a specific page. In Object Dispatch an URL like class UsersController(TGController): @expose() def new(self, name=None): return 'Hi, %s' % name class RootController(TGController): users = UsersController() It's easy to see how TurboGears Resources
What do you want to learn next?
1. Introduction
2. Development Environments
3. Data
4. Web Development
Web Frameworks
Django
Flask
Bottle
Pyramid
TurboGears
Falcon
Morepath
Sanic
Other Web Frameworks
Template Engines
Jinja2
Mako
Django Templates
Web Design
HTML
Cascading Style Sheets (CSS)
Responsive Design
Minification
CSS Frameworks
Bootstrap
Foundation
JavaScript
React
Vue.js
Angular
Task Queues
Celery
Redis Queue (RQ)
Dramatiq
Static Site Generators
Pelican
Lektor
MkDocs
Testing
Unit Testing
Integration Testing
Debugging
Code Metrics
Networking
HTTPS
WebSockets
WebRTC
Web APIs
Microservices
Webhooks
Bots
API Creation
API Frameworks
Django REST Framework
API Integration
Twilio
Stripe
Slack
Okta
Security
SQL Injection
CSRF
5. Deployment
6. DevOps
Changelog
What Full Stack Means
About the Author
Future Directions
Page Statuses
...or view the full table of contents.
Full Stack Python
Full Stack Python
is an open book that explains concepts in plain language and provides
helpful resources for those topics.
Updates via Twitter & Facebook. |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |