{"id":7187,"date":"2023-04-12T20:36:55","date_gmt":"2023-04-12T18:36:55","guid":{"rendered":"https:\/\/www.sviluppomania.com\/it\/?p=7187"},"modified":"2025-04-19T10:51:39","modified_gmt":"2025-04-19T08:51:39","slug":"usare-il-server-di-sviluppo-di-flask","status":"publish","type":"post","link":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/","title":{"rendered":"Use the Flask development server"},"content":{"rendered":"<p>Today we&#8217;re going to talk about the development server and debugging system of Flask. They depend on the Werkzeug library. WSGI Comprehensive Web Application Library, a project that started as a simple collection of various utilities for WSGI applications and has grown into one of the most advanced libraries.<\/p>\n<h3>app.run()<\/h3>\n<p>The Flask module has its own server to test the application during development, this server is started by the run() method, this method can contain various argument options to be managed. Let&#8217;s review <a href=\"https:\/\/www.sviluppomania.com\/en\/install-and-test-flask\/\" target=\"_blank\" rel=\"noopener\">the previously written article on installing the system<\/a> and take the sample code.<\/p>\n<pre>from flask import Flask\r\n\r\n<strong>\/\/ Create the flask object<\/strong>\r\napp = Flask(__name__)\r\n\r\n<strong>\/\/ Create the views<\/strong>\r\n@app.route(\"\/\")\r\ndef homePage():\r\n    return \"&lt;h1&gt;Hello World&lt;\/h1&gt;\"\r\n\r\n<strong>\/\/ Launch the application without the debug system\u2039\u203a<\/strong>\r\nif __name__ == '__main__':\r\n    app.run()\r\n<\/pre>\n<p>Let&#8217;s now examine the last two lines which are precisely the ones we need to start the server and test the project. The line:<\/p>\n<pre>if __name__ == '__main__':\r\n<\/pre>\n<p>It is used to ensure that the development web server is only started when the script is run directly. And the line:<\/p>\n<pre>app.run()\r\n<\/pre>\n<p>Here the run() method will be called from the app object which will start the server in a cycle which will wait for requests, and will serve answers, until it is interrupted by the user, for example with a CTRL-C.<br \/>\nTo launch the application then just type the command from the terminal<\/p>\n<pre>python nomeFile.py\r\n<\/pre>\n<p>Open a browser and type in the address bar:<\/p>\n<pre>localhost:5000\r\n<\/pre>\n<p>Or:<\/p>\n<pre>127.0.0.1:5000\r\n<\/pre>\n<p>As mentioned earlier the run() method supports several different options which we will see below.<\/p>\n<ul>\n<li><strong>host<\/strong> \u2013 the hostname to listen on.<\/li>\n<li><strong>port<\/strong> \u2013 the port of the web server.<\/li>\n<li><strong>debug<\/strong> \u2013 if provided, enable or disable debug mode.<\/li>\n<li><strong>load_dotenv<\/strong> \u2013 load the closest .env and .flaskenv files to set the environment variables.<\/li>\n<li><strong>use_reloader<\/strong> \u2013 the server should automatically restart the python process if the modules have changed.<\/li>\n<li><strong>use_debugger<\/strong> \u2013 debug werkzeug should be used.<\/li>\n<li><strong>use_evalex<\/strong> \u2013 the exception evaluation function should be enabled.<\/li>\n<li><strong>extra_files<\/strong> \u2013 a list of files the reloader should watch in addition to modules.<\/li>\n<li><strong>reloader_interval<\/strong> \u2013 the reloader interval in seconds.<\/li>\n<li><strong>reloader_type<\/strong> \u2013 the type of charger to use.<\/li>\n<li><strong>threaded<\/strong> \u2013 the process should handle each request in a separate thread.<\/li>\n<li><strong>processes<\/strong> \u2013 if greater than 1, handle each request in a new process up to this maximum number of concurrent processes.<\/li>\n<li><strong>passthrough_errors<\/strong> \u2013 set this to True to disable error trapping.<\/li>\n<li><strong>ssl_context<\/strong> \u2013 an SSL context for the connection.<\/li>\n<\/ul>\n<p>During development it is convenient to enable debug mode, which among other things activates the debugger and reloader. This is done by passing the debug argument set to True.<\/p>\n<pre>if __name__ == '__main__':\r\n    app.run(debug=True)\r\n<\/pre>\n<h3>flask run<\/h3>\n<p>The Flask system provides another way to start the development server by using a command line interface module via the flask command, which is installed directly with the Flask instance. To activate the server, just open a terminal, go inside the project folder and run the command:<\/p>\n<pre>flask run\r\n<\/pre>\n<p>Before launching this line, it is necessary to tell the flask command where the Flask application instance is located, so that it can import and use it. This is done by setting an environment variable as follows:<\/p>\n<pre>Per Mac e Linux\r\nexport FLASK_APP=nomeFile.py\r\n<\/pre>\n<pre>Per Windows\r\nset FLASK_APP=nomeFile.py\r\n<\/pre>\n<p>By opening a browser at the address 127.0.0.1:5000 we will see the application work.<br \/>\nVery important to improve the development work conditions is to use the debugging system. This allows the application to update the changes made to the code in runtime, otherwise after each change you would have to exit the development server and re-enter it, instead you only need to refresh the page to see the applied changes. To do this, you need to set another environment variable:<\/p>\n<pre>Per Mac e Linux\r\nexport FLASK_ENV=developement\r\n<\/pre>\n<pre>Per Windows\r\nset FLASK_ENV=developement\r\n<\/pre>\n<p>In the last versions this mode is deprecated even if at the moment it is still working, and it has been replaced by another environment variable:<\/p>\n<pre>export FLASK_DEBUG=1\r\n<\/pre>\n<p>So every time we enter the virtual environment and start the development work we have to run these commands:<\/p>\n<pre>export FLASK_DEBUG=1\r\nexport FLASK_APP=nomeFile.py\r\nflask -- debug run\r\n<\/pre>\n<p>Honestly, this system can be improved by making the setting of environment variables permanent in a file. We do this by installing python-dotenv, this package reads key-value pairs from an .env file and can set them as environment variables.<\/p>\n<pre>pip install python-dotenv\r\n<\/pre>\n<p>Once installed we create a file called .flaskenv and edit the environment variables mentioned above inside it.<\/p>\n<pre>FLASK_DEBUG=1\r\nFLASK_APP=nomeFile.py\r\n<\/pre>\n<p>At this point it will no longer be necessary to recall them at the first start of the server, an operation which will be done directly by the system by reading the.env file.<br \/>\nIf we don&#8217;t want to set environment variables or create .env files or not use the python-dotenv, simply run the command:<\/p>\n<pre>flask --app=nomeFile.py --debug run\r\n<\/pre>\n<p>The wording listed above replaces the environment variables.<br \/>\nUsing the flask run mode we could also delete lines of code from the program:<\/p>\n<pre>if __name__ == '__main__':\r\n    app.run()\r\n<\/pre>\n<p>Since they are no longer necessary, even if they can still coexist without creating problems.<\/p>\n<h3>Conclusions<\/h3>\n<p>It&#8217;s not much of a difference whether you use one way or the other to run the development server, both are equally fine although the Flask project team recommends using the flask run option. However, the choice remains at the discretion of the developer depending on their context. The only thing that can be said against app.run() is that there may be problems reloading the page after a change. Obviously these ways are good only in the development phase and not in the face of production. For a production deployment, use a production-ready web server such as gunicorn or uWSGI.<\/p>\n<h3>Extra<\/h3>\n<p>If we wanted to see the application run on other devices in addition to the local one, we need to connect them to the same network and launch the command:<\/p>\n<pre>flask run --host=\"IP address of the machine where the server is launched\"\r\n<\/pre>\n<p>Example in my case:<\/p>\n<pre>flask run --host=192.168.1.115\r\n<\/pre>\n<p>By taking a device and writing 192.168.1.115:5000 in the address bar, you can test the app directly.<\/p>\n<p>&nbsp;<\/p>\n<p>SviluppoMania<br \/>\nStay Tuned<\/p>","protected":false},"excerpt":{"rendered":"<p>Today we&#8217;re going to talk about the development server and debugging system of Flask. They depend on the Werkzeug library&#8230;.<\/p>\n","protected":false},"author":174,"featured_media":7211,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/i.ibb.co\/wNqPpVq\/Flask.png","fifu_image_alt":"Flask","_vp_format_video_url":"","_vp_image_focal_point":[],"footnotes":""},"categories":[298],"tags":[610,612,613,609,611],"class_list":["post-7187","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programming_languages","tag-ambiente-virtuale","tag-apprua","tag-debuggaste-flask","tag-server-di-sviluppo","tag-testare-flask"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Use the Flask development server<\/title>\n<meta name=\"description\" content=\"Today we\u2019re going to talk about the development server and debugging system of Flask. They depend on the Werkzeug library\u2026.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Use the Flask development server\" \/>\n<meta property=\"og:description\" content=\"Today we\u2019re going to talk about the development server and debugging system of Flask. They depend on the Werkzeug library\u2026.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/\" \/>\n<meta property=\"og:site_name\" content=\"SviluppoMania | Professional blog dedicated to Technology!\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SviluppoManiaCom\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-12T18:36:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-19T08:51:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i.ibb.co\/wNqPpVq\/Flask.png\" \/><meta property=\"og:image\" content=\"https:\/\/i.ibb.co\/wNqPpVq\/Flask.png\" \/>\n\t<meta property=\"og:image:width\" content=\"438\" \/>\n\t<meta property=\"og:image:height\" content=\"245\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"MARCO.VERGNANI\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/i.ibb.co\/wNqPpVq\/Flask.png\" \/>\n<meta name=\"twitter:creator\" content=\"@SviluppoMania\" \/>\n<meta name=\"twitter:site\" content=\"@SviluppoMania\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"MARCO.VERGNANI\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/use-the-flask-development-server\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/use-the-flask-development-server\\\/\"},\"author\":{\"name\":\"MARCO.VERGNANI\",\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/it\\\/#\\\/schema\\\/person\\\/ae16b620f0e95611f67bb496be059074\"},\"headline\":\"Use the Flask development server\",\"datePublished\":\"2023-04-12T18:36:55+00:00\",\"dateModified\":\"2025-04-19T08:51:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/use-the-flask-development-server\\\/\"},\"wordCount\":1832,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/it\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/use-the-flask-development-server\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i1.wp.com\\\/i.ibb.co\\\/wNqPpVq\\\/Flask.png?w=438&resize=438,245&ssl=1\",\"keywords\":[\"ambiente virtuale\",\"apprua()\",\"debuggaste flask\",\"server di sviluppo\",\"testare flask\"],\"articleSection\":[\"PROGRAMMING &amp; LANGUAGES\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/use-the-flask-development-server\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/use-the-flask-development-server\\\/\",\"url\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/use-the-flask-development-server\\\/\",\"name\":\"Use the Flask development server\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/use-the-flask-development-server\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/use-the-flask-development-server\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i1.wp.com\\\/i.ibb.co\\\/wNqPpVq\\\/Flask.png?w=438&resize=438,245&ssl=1\",\"datePublished\":\"2023-04-12T18:36:55+00:00\",\"dateModified\":\"2025-04-19T08:51:39+00:00\",\"description\":\"Today we\u2019re going to talk about the development server and debugging system of Flask. They depend on the Werkzeug library\u2026.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/use-the-flask-development-server\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[[\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/use-the-flask-development-server\\\/\"]]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/use-the-flask-development-server\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i1.wp.com\\\/i.ibb.co\\\/wNqPpVq\\\/Flask.png?w=438&resize=438,245&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i1.wp.com\\\/i.ibb.co\\\/wNqPpVq\\\/Flask.png?w=438&resize=438,245&ssl=1\",\"width\":\"438\",\"height\":\"245\",\"caption\":\"Flask\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/use-the-flask-development-server\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Use the Flask development server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/\",\"name\":\"SviluppoMania | Professional blog dedicated to Technology!\",\"description\":\"SviluppoMania | Professional blog dedicated to Technology! Tools - Reviews and much more\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/#organization\",\"name\":\"SviluppoMania.com\",\"url\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.sviluppomania.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/SviluppoMania-logo2-_1_.webp\",\"contentUrl\":\"https:\\\/\\\/www.sviluppomania.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/SviluppoMania-logo2-_1_.webp\",\"width\":474,\"height\":408,\"caption\":\"SviluppoMania.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/SviluppoManiaCom\",\"https:\\\/\\\/x.com\\\/SviluppoMania\",\"https:\\\/\\\/www.instagram.com\\\/sviluppomania\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UC5CuM88LjzBeC23s2DPdveA\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.sviluppomania.com\\\/it\\\/#\\\/schema\\\/person\\\/ae16b620f0e95611f67bb496be059074\",\"name\":\"MARCO.VERGNANI\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/lh3.googleusercontent.com\\\/a\\\/ACg8ocIrc635RIrznZifq60wpv-NGquftAXU0DTmwwGSdlV4FbvhpkIn=s96-c?sz=50\",\"url\":\"https:\\\/\\\/lh3.googleusercontent.com\\\/a\\\/ACg8ocIrc635RIrznZifq60wpv-NGquftAXU0DTmwwGSdlV4FbvhpkIn=s96-c?sz=50\",\"contentUrl\":\"https:\\\/\\\/lh3.googleusercontent.com\\\/a\\\/ACg8ocIrc635RIrznZifq60wpv-NGquftAXU0DTmwwGSdlV4FbvhpkIn=s96-c?sz=50\",\"caption\":\"MARCO.VERGNANI\"},\"description\":\"Nella mia vita a 12 anni e' entrato a far parte un Intel 80286 con 4MB di RAM, un Hard disk da 20 MB e una primissima scheda VGA appena uscita e da allora mi si e' aperto un mondo pieno di bit. Appassionato di programmazione fin da piccolo, mi diverto a costruire piccoli robottini. Curioso delle molteplici applicazioni che le macchine automatiche possono compiere, e adoro vedere volare quegli strani oggetti chiamati droni.\",\"url\":\"https:\\\/\\\/www.sviluppomania.com\\\/en\\\/author\\\/marco-vergnani\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Use the Flask development server","description":"Today we\u2019re going to talk about the development server and debugging system of Flask. They depend on the Werkzeug library\u2026.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/","og_locale":"en_US","og_type":"article","og_title":"Use the Flask development server","og_description":"Today we\u2019re going to talk about the development server and debugging system of Flask. They depend on the Werkzeug library\u2026.","og_url":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/","og_site_name":"SviluppoMania | Professional blog dedicated to Technology!","article_publisher":"https:\/\/www.facebook.com\/SviluppoManiaCom","article_published_time":"2023-04-12T18:36:55+00:00","article_modified_time":"2025-04-19T08:51:39+00:00","og_image":[{"url":"https:\/\/i.ibb.co\/wNqPpVq\/Flask.png","type":"","width":"","height":""},{"width":438,"height":245,"url":"https:\/\/i.ibb.co\/wNqPpVq\/Flask.png","type":"image\/jpeg"}],"author":"MARCO.VERGNANI","twitter_card":"summary_large_image","twitter_image":"https:\/\/i.ibb.co\/wNqPpVq\/Flask.png","twitter_creator":"@SviluppoMania","twitter_site":"@SviluppoMania","twitter_misc":{"Written by":"MARCO.VERGNANI","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/#article","isPartOf":{"@id":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/"},"author":{"name":"MARCO.VERGNANI","@id":"https:\/\/www.sviluppomania.com\/it\/#\/schema\/person\/ae16b620f0e95611f67bb496be059074"},"headline":"Use the Flask development server","datePublished":"2023-04-12T18:36:55+00:00","dateModified":"2025-04-19T08:51:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/"},"wordCount":1832,"commentCount":0,"publisher":{"@id":"https:\/\/www.sviluppomania.com\/it\/#organization"},"image":{"@id":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/#primaryimage"},"thumbnailUrl":"https:\/\/i1.wp.com\/i.ibb.co\/wNqPpVq\/Flask.png?w=438&resize=438,245&ssl=1","keywords":["ambiente virtuale","apprua()","debuggaste flask","server di sviluppo","testare flask"],"articleSection":["PROGRAMMING &amp; LANGUAGES"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/","url":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/","name":"Use the Flask development server","isPartOf":{"@id":"https:\/\/www.sviluppomania.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/#primaryimage"},"image":{"@id":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/#primaryimage"},"thumbnailUrl":"https:\/\/i1.wp.com\/i.ibb.co\/wNqPpVq\/Flask.png?w=438&resize=438,245&ssl=1","datePublished":"2023-04-12T18:36:55+00:00","dateModified":"2025-04-19T08:51:39+00:00","description":"Today we\u2019re going to talk about the development server and debugging system of Flask. They depend on the Werkzeug library\u2026.","breadcrumb":{"@id":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":[["https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/"]]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/#primaryimage","url":"https:\/\/i1.wp.com\/i.ibb.co\/wNqPpVq\/Flask.png?w=438&resize=438,245&ssl=1","contentUrl":"https:\/\/i1.wp.com\/i.ibb.co\/wNqPpVq\/Flask.png?w=438&resize=438,245&ssl=1","width":"438","height":"245","caption":"Flask"},{"@type":"BreadcrumbList","@id":"https:\/\/www.sviluppomania.com\/en\/use-the-flask-development-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sviluppomania.com\/en\/"},{"@type":"ListItem","position":2,"name":"Use the Flask development server"}]},{"@type":"WebSite","@id":"https:\/\/www.sviluppomania.com\/en\/#website","url":"https:\/\/www.sviluppomania.com\/en\/","name":"SviluppoMania | Professional blog dedicated to Technology!","description":"SviluppoMania | Professional blog dedicated to Technology! Tools - Reviews and much more","publisher":{"@id":"https:\/\/www.sviluppomania.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sviluppomania.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.sviluppomania.com\/en\/#organization","name":"SviluppoMania.com","url":"https:\/\/www.sviluppomania.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sviluppomania.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.sviluppomania.com\/wp-content\/uploads\/2020\/12\/SviluppoMania-logo2-_1_.webp","contentUrl":"https:\/\/www.sviluppomania.com\/wp-content\/uploads\/2020\/12\/SviluppoMania-logo2-_1_.webp","width":474,"height":408,"caption":"SviluppoMania.com"},"image":{"@id":"https:\/\/www.sviluppomania.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SviluppoManiaCom","https:\/\/x.com\/SviluppoMania","https:\/\/www.instagram.com\/sviluppomania\/","https:\/\/www.youtube.com\/channel\/UC5CuM88LjzBeC23s2DPdveA"]},{"@type":"Person","@id":"https:\/\/www.sviluppomania.com\/it\/#\/schema\/person\/ae16b620f0e95611f67bb496be059074","name":"MARCO.VERGNANI","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lh3.googleusercontent.com\/a\/ACg8ocIrc635RIrznZifq60wpv-NGquftAXU0DTmwwGSdlV4FbvhpkIn=s96-c?sz=50","url":"https:\/\/lh3.googleusercontent.com\/a\/ACg8ocIrc635RIrznZifq60wpv-NGquftAXU0DTmwwGSdlV4FbvhpkIn=s96-c?sz=50","contentUrl":"https:\/\/lh3.googleusercontent.com\/a\/ACg8ocIrc635RIrznZifq60wpv-NGquftAXU0DTmwwGSdlV4FbvhpkIn=s96-c?sz=50","caption":"MARCO.VERGNANI"},"description":"Nella mia vita a 12 anni e' entrato a far parte un Intel 80286 con 4MB di RAM, un Hard disk da 20 MB e una primissima scheda VGA appena uscita e da allora mi si e' aperto un mondo pieno di bit. Appassionato di programmazione fin da piccolo, mi diverto a costruire piccoli robottini. Curioso delle molteplici applicazioni che le macchine automatiche possono compiere, e adoro vedere volare quegli strani oggetti chiamati droni.","url":"https:\/\/www.sviluppomania.com\/en\/author\/marco-vergnani\/"}]}},"_links":{"self":[{"href":"https:\/\/www.sviluppomania.com\/en\/wp-json\/wp\/v2\/posts\/7187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sviluppomania.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sviluppomania.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sviluppomania.com\/en\/wp-json\/wp\/v2\/users\/174"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sviluppomania.com\/en\/wp-json\/wp\/v2\/comments?post=7187"}],"version-history":[{"count":1,"href":"https:\/\/www.sviluppomania.com\/en\/wp-json\/wp\/v2\/posts\/7187\/revisions"}],"predecessor-version":[{"id":7394,"href":"https:\/\/www.sviluppomania.com\/en\/wp-json\/wp\/v2\/posts\/7187\/revisions\/7394"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sviluppomania.com\/en\/wp-json\/wp\/v2\/media\/7211"}],"wp:attachment":[{"href":"https:\/\/www.sviluppomania.com\/en\/wp-json\/wp\/v2\/media?parent=7187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sviluppomania.com\/en\/wp-json\/wp\/v2\/categories?post=7187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sviluppomania.com\/en\/wp-json\/wp\/v2\/tags?post=7187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}