What are the good Web frameworks for Python?

Source: Internet
Author: User
How about pylons?

Reply content:

For beginners, progressive is the most important, I recommend learning Flask (Welcome | Flask (A Python microframework)
Flask is so light that it can develop a simple website with very little cost. Very suitable for beginners to learn.
Flask Framework Learning, you can consider the use of plug-ins. For example, use Wtform + flask-wtform to validate form data, and use SQLAlchemy + Flask-sqlalchemy to control your database.
BTW: The shell net is based on Flask development.

Additional frameworks are also briefly introduced:
1. Django. As said upstairs, is an all-round framework. At present, the use of Django is still very wide, there is the value of learning, but not recommended for beginners to learn, because there are too many things to learn, a sudden difficult to absorb will lose interest. Of course, the purpose of Django is to enable developers to FastTo develop a Web site, it provides a lot of modules, among which my favorite is the admin module, / http Your.site.com/admin Into the site of the backstage (built-in OH ~) Easy to manipulate the data, and so on .... So, if you're familiar with Django, Papapa will write a prototype of the site in a few words.
2. Tornado. The legendary high-performance frame. Tornado is a good framework that supports the functionality of asynchronous processing, which is its feature that other frameworks do not support. Another point is that Tornado's design seems to pay more attention to RESTful URLs. But Tornado provides the modules that the site needs to use, and the rest needs to be extended by the developers themselves. For example, database operations, although the built-in a database module (and then independent out, now called Torndb,bdarnell/torndb GitHub But it doesn't support ORM, and it's hard to develop quickly. If you need ORM support, you will also need to write a layer to connect SQLAlchemy and Tornado, and there is a pit.
BTW: Knowledge is the foundation of the development of Tornado.
3. Bottle. Bottle and Flask all belong to the lightweight WEB framework. But the Bottle seemed lonely. I think it's related to his API design. The individual thinks that the Bottle use is not so handy, therefore also uses less. There are not too many introductions here.
4. web.py. is also very light a frame, use not much, also do not introduce.
5. Web2py. I don't see any introduction to this frame upstairs. This framework is Google on the basis of web.py two times developed, compatible with GAE. Performance is said to be very high, used to do his own home page, it feels good. The disadvantage is that the extension support is not very good and needs to be extended by itself.
6. Quixote. Well-known Watercressis based on the development of Quixote. Unlike the frameworks above, Quixote's routing is somewhat special. In addition Quixote performance is said to be good. Come on, write one yourself: No more than 1000 lines of code

http://www. liaoxuefeng.com/wiki/00 1374738125095c955c1e6d8bb493182103fac9270762a000/0014023080708565bc89d6ab886481fb25a16cdc3b773f0000

Then paste the source code, 1500 lines, half are comments:

https:// github.com/michaelliao/ awesome-python-webapp/blob/release/www/transwarp/web.py Tornado
Tornado Web Server
Tornado is a open source version of the scalable, non-blocking Web server and tools that power Friendfee D . The FriendFeed application is written using a web framework that looks a bit like web.py or Google's WebApp , but with additional tools and optimizations to take advantage of the underlying non-blocking infrastructure.
One of the obvious advantages of using Tornado is that some wheels can be made to learn things by themselves.
Chinese Civil Network Mirror Tornado Web server
Another advantage is that Facebook is open source, with its own excellent code quality and proud performance, is now very fire, the birth of a large number of excellent products, such as you raised this question on the knowledge, Quora , INK361 , District 42. Met Wait a minute. I think the novice still do not use Django such a huge thing, suggest flask, a lot of things to achieve their own. After a certain understanding, then use Django, will feel very happy.
The bigger the project, the more it will feel that the framework can help too little and more customization. Django is a lot of trouble to change. But the micro-framework you've been customizing since the beginning. Recommended Uliweb:
Document: Uliweb-doc
Mailing list: / http Groups.google.com/group /uliweb
QQ Discussion Group: 162487035

There are some tutorials for beginners, QQ Group also have a lot of beginners in the discussion, in the mailing list and QQ group can be discussed with the author of the problem if you are learning, you can hand-roll a frame
Python mock Django Framework
Day 5-writing a web framework
Bottle:python Web Framework
Copy it, then change it. Anyway, Python makes the wheel simple, the chant, the more the better, which frame to change is not afraid. I learned Python web development, flask, bottle, Tornado, web.py, Django--and now the team is using a flask-based two development framework.

First learn Django, because you can search the Python Web development framework, full screen is to talk about Django, learn.

Later thought, too TMD heavy. Under the effect of reverse psychology, went to see web.py.

Web.py actually quite good, but surprised to hear the author passed away no maintenance, heart a cool. Just heard that tornado performance is good, like web.py, learning is not bad. I've always liked the high performance of this non-blocking IO

Later, Gevent was exposed to the idea that non-blocking IO had a more elegant way of implementing it. And tornado really do not satisfy my heart to "concise" demanding, so I planted into bottle this simple to only one file library, Brief Encounter

Later, friends recommend flask, the reason is very similar to bottle but the big project organization support is better, and plug-ins more, better ecology. Take a try to learn the mentality. And then the use of the present bottle is also good, dapper Ah pyramid used, or relatively free. My recommendation is a lightweight Flask, all-in-one Django, heavy-duty Pyramid.

For learning purposes, it is recommended to start with Django and learn about Flask.
  • Related Article

    Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.