What is required for learning python frameworks such as tornado, django, and flask?

Source: Internet
Author: User
RT. I want to learn these frameworks before, but after learning a little bit, I find that I cannot learn them. I always feel that I am missing some knowledge. I would like to ask, what kind of knowledge is required to learn these frameworks? How to Learn correctly? RT. I want to learn these frameworks before, but after learning a little bit, I find that I cannot learn them. I always feel that I am missing some knowledge. I would like to ask, what kind of knowledge is required to learn these frameworks? How to Learn correctly? Reply: I think @ shengdi is right. Learn first. If you are hard at learning, you will be able to learn what knowledge points you do not understand during the learning process, list the knowledge points that you don't understand, for example, when learning Tornado AsynchronousThis is not clear. Use this knowledge point to expand the following learning plan:
  1. Don't be afraid.
  2. GoogleWhat is Asynchronization? Asynchronous concept ?, After searching, you will find that you have a lot of unknown knowledge, and then write down these unfamiliar knowledge points and read your google content.
  3. Knowledge points sorted in step 2 (may take a long time)List them and put them on a clean piece of paper.. May includeBlocking and non-blocking,Asynchronous and synchronous, event loop,I/O multiplexing (select/poll/epoll), Linux Process ManagementAnd other knowledge points. Anyone who sees this pile of strange things will feel scared, and even feel powerless like the subject. There is no doubt that this is the most difficult time to take the first step. The fear is half the success, and the rest is nothing more than the following cloud.
  4. Google the unfamiliar knowledge points in step 3 to record their basic meaning,To gain insight into the overall situation.In this way, you will have a conceptual view, and naturally increase confidence after understanding it. Then summarize the other knowledge points involved in your knowledge point, so that the cycle,Use Xmind to build the relationship tree for learning knowledge points. Maybe someone will introduce some related books such as UNIX Network Programming volume 1 (Douban) at google)And write down these books for future reading. (Note:Don't get stuck in an endless loop)
  5. Now you know what the knowledge points are and what books you need to read. ThenRelax and watch some simple thingsFor example, the Django document first-steps Django documentationWrite a small program once. If you encounter unfamiliar web Front-end knowledge points during this period, you can repeat steps 1, 2, 3, and 4. After some simple things are done, you can be more interested. With these interests, you can continue with Next.
  6. Finish learning it!Do not worry about solving unfamiliar knowledge points for the moment (solving them may take longer than learning a framework). Remember your original intention: to learn some python frameworks. Continue to follow the documents provided by these frameworks and follow the knowledge context of the frameworks. DoneUnderstand the general subject of the framework and learn it over and over againAfter all, you have not done it overnight. You will go back and read the document several times. If you have been immersed in solving unfamiliar knowledge points, you may not have read the framework for a year.
  7. Apply it!The more you write, The more you use, the more inspiration you will have. For example, flask creates more wheels, and if it is in the company, it boldly quotes (I have been very bold in applying some new things in the company's projects, ps. my company has a backend (middle .....))
  8. Systematic learning!After several times of learning, take the time to scan your unknown knowledge point (maybe you have understood some of the knowledge points in the process of writing them, which is the value of time). ThenSummarize some systematic Systems(For example, TCP/IP protocol and Unix network programming ). For example, if the subject mentions a web frameworkThe web framework is nothing more than constructing the lower-layer TCP protocol and the application layer HTTP protocol with additional web applications (such as routing, request and response, Cookie and Session, authentication, data processing, templates rendering, etc.) and processing of ORM and process management.. This requires a lot of learning to gradually grasp. These things can be searched immediately for recommended books or books in Douban, mark it, and be enlightened slowly when nothing happens.I read more books and read a good book. Over time, I built my own systemic knowledge..
  9. The first step is not complete, and the rest is Over ~
Ps: it is purely personal suggestion and does not contain any color.

Let's look at the Python web framework. Strictly speaking, the required knowledge is not limited:

1. HTTP protocol and Basic Concepts
2. Basic knowledge of HTML/CSS/JS (at least it shows how to interact with the front and back ends)
3. Basic Database knowledge
4. Python basic syntax, concepts, main language features, package management mechanism ......
5. The basic knowledge and structure of the framework to be learned, as well as the so-called "Philosophy 」
6. English, documentation/Wiki/StackOverflow/Github/search engine usage and reading methods (if you encounter any problem, find the solution)

However, it is quite easy to learn and interact with each other.
  • Getting started with python
    • Recommended python core programming
  • Front-end development (html, css, and js) can be understood at least and can be used now
    • You can go to the w3c website to learn more.
    • Understand at least one front-end framework, such as Bootstrap.
  • Understanding Network Programming
    • Python network programming BASICS (Douban)
  • Master Database Programming
    • Master the design and Modeling of relational databases
    • [Edited on April 9, November 1] added the following database suggestions:
      • First, let's take a look at the basic principles of the database. For Beginners, at least learn SQL statements well. With the help of the ORM API, We Can skillfully perform addition, deletion, modification, and query operations.
      • Learn about database design and modeling. In this step, you may need more practical experience to become proficient, but you need to have basic skills in this area when looking for a job.
      • Learn about database performance tuning. It is mainly for SQL statement tuning. It will be a highlight of your interviewer's satisfaction. There are few requirements for internal optimization of the database system. If such a requirement exists in the project, there are usually architects or DBAs dedicated to it.
    • Recommended books (For mysql ):
      • MySQL performance optimization and Architecture Design (Douban)--- Suitable for junior web development
      • High-performance MySQL (Douban)--- Advanced requirements for advanced web Development
      • Database System implementation (Douban)--- Same as above
    • Finally:
      • If you have enough time, we recommend that you understand emerging database technologies such as redis and mongdb, which have been used in many python projects and are also suitable for skill highlights.
        • Recommendation: Redis practice (Douban)
  • Learning frameworks
    • For example, django focuses on understanding the MVC design pattern and the context of "url routing-> views view processing-> orm database processing-> jinja template rendering, and powerful and easy-to-use django back-end management (I personally suggest starting with django, although it is more important than flask, but it has richer community resources and more mature Q & ).
  • English (you need to check the official documentation)
    • This is really critical! Only reading Chinese documents or Chinese website materials in China can help you get started.
These knowledge points can be learned in a random order. It is best to follow your own interests. If you encounter congestion when learning a knowledge, do not stay too long (the longer you stay, the more likely you lose confidence and interest ), turn to another knowledge point. In fact, learning a few skills at the same time can be integrated with each other and inspire each other, which is more conducive to continuous learning and comprehensive understanding!

Network Programming and database programming!
Network Programming and database programming!
Network Programming and database programming!
These two are the basis for implementing web application functions!
If you want to make beautiful web applications, you should thoroughly study front-end development, focusing on the use of frameworks (such as Bootstrap ).

Finally, you must write several web applications for fun. You can first find some tutorials and write a few; then you must first implement one independently based on your own ideas (such as personal blogs). This step will make you feel a sense of accomplishment! Project-driven Learning!
If you have a clear goal, a clear requirement, or your personal preferences, or do not want to learn, you can study hard.
If you have a goal, you can learn it hard. Not endless. Page rendering, url design, HTTP knowledge, engineering code structure design, ORM or direct database query methods, database design, Cache Usage, service packaging, build, and deployment, and service horizontal scalability, if you encounter any problems, search for them online and try your best.

If you don't have a goal, we suggest you stop learning it. Really, it's not about cracking down people, but about learning things without purpose. You can learn things in time and forget them soon ...... If you want to learn, how can you know python?
Basic HTTP knowledge
Html
Css
Know javascript
Database


This is almost the case. You should not learn it all, but use it in learning these frameworks. For example, the database actually uses a basic addition, deletion, modification, and query, but no database. Writing a website from scratch is more efficient than learning it.
Of course, this has one drawback: incomplete learning. The standard library, standard library, and project according to the tutorial. If you don't understand it, you can go back to the tutorial and check the information. By the way, we recommend Liao Xuefeng's tutorial and Flask Web Development: developing web applications with python.

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.