Flask vs Django
Flask | Django |
---|---|
What is Flask ? It is a web framework. It provides flexibility, simplicity, and fine-grained control. ![]() |
What is Django ? It is a web development framework that assists in building and maintaining quality web applications. ![]() |
Companies that use Flask |
Companies that use Django |
Functionality Flask is a ligtweight, simple, and easy to use a framework. |
Django is a full-stack Python web framework that follows a batteries-included approach. |
Database Flask doesn't have a database layer, supports NoSQL, no ORM, perform database operations through SQLAlchemy. |
Django provides an ORM system to perform standard database operations without writing lengthy SQL queries. |
Security Flask has built-in security |
Django is more secure in comparison with other web frameworks. |
Flexibility Flask is a micro and extensible web framework. |
Django follows the batteries included approach, which helps developers to build a variety of web applications without using third-party tools and libraries. |
Built-in Bootstrapping Tool Flask doesn't consist built-in bootstrap tool. |
Django comes with the built-in Bootstrapping tool named –django-admin. |
Features of Flask
|
Features of Django
|
Hello World Program Comparison
Flask
Let's display the Hello World on the webpage using both frameworks.
- To create a newfile hello_flask.py. The program is given below:
from flask import Flask, escape, request
app = Flask(__name__)
@app.route('/')
def hello():
name = request.args.get("name", "World")
return f'Hello, {escape(name)}!'
Then start the Flask server from the command line:
$ env FLASK_APP=hello_flask.py flask run
* Serving Flask app "hello_flask.py"
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0. 1:5000/ (Press CTRL+C to quit)
Django
To install the django by using pip install django
command; create a hello_django.py with the following code:
from django.conf import settings
from django.core.handlers.wsgi import WSGIHandler
from django.core.management import execute_from_command_line
from django.http import HttpResponse
from django.urls import path
settings.configure(
ROOT_URLCONF=__name__,
DEBUG=True,
)
def hello_world(request):
return HttpResponse("Hello, Django!")
urlpatterns = [
path('', hello_world)
]
application = WSGIHandler()
if __name__ == "__main__":
execute_from_command_line()
Type following command in your terminal:
python hello_django.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
December 17, 2019 - 13:48:54
Django version 3.0, using settings None
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
When you click on the above link, it will display the Hello World on a webpage.
If you want to learn about Python Course , you can refer the following links Python Training in Chennai , Machine Learning Training in Chennai , Data Science Training in Chennai , Artificial Intelligence Training in Chennai