Additional resources

Flask is no doubt a feature-rich framework that is growing in features and community. We have covered a lot of topics in this chapter but still have only scraped the surface of the framework. Besides APIs, you can use Flask for web applications as well as your websites. There are a few improvements that I think we can still make to our network API framework:

  • Separate out the database and each endpoint in its own file so the code is clean and easier to troubleshoot.
  • Migrate from SQLite to other production-ready databases.
  • Use token-based authentication instead of passing the username and password for every transaction. In essence, we will receive a token with finite expiration time upon initial authentication and use the token for further transactions until the expiration.
  • Deploy your Flask API app behind a web server, such as Nginx, along with the Python WSGI server for production use.

Obviously, the preceding improvements will vary greatly from company to company. For example, the choice of database and web server may have implications from the company's technical preference as well as the other team's input. The use of token-based authentication might not be necessary if the API is only used internally and other forms of security have been put into place. For these reasons, I would like to provide you with additional links as extra resources should you choose to move forward with any of the preceding items.

Here are some of the links I find useful when thinking about design patterns, database options, and general Flask features:

Due to the nature of Flask and the fact that it relies on the extension outside of its small core, sometimes you might find yourself jumping from one documentation to another. This can be frustrating, but the upside is that you only need to know the extension you are using, which I feel saves time in the long run.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.217.95