Django Interview Questions
Q24. Mention the differences between Django, Pyramid and Flask.
Ans:
- Flask is a “microframework” primarily build for a small application with simpler requirements. In flask, you have to use external libraries. Flask is ready to use.
- Pyramid is built for larger applications. It provides flexibility and lets the developer use the right tools for their project. The developer can choose the database, URL structure, templating style and more. Pyramid is heavy configurable.
- Django can also used for larger applications just like Pyramid. It includes an ORM.
Q25. Discuss the Django architecture.
Ans: Django MVT Pattern:
Figure: Python Interview Questions – Django Architecture
The developer provides the Model, the view and the template then just maps it to a URL and Django does the magic to serve it to the user.
Q26. Explain how you can set up the Database in Django.
Ans: You can use the command edit mysite/setting.py , it is a normal python module with module level representing Django settings.
Django uses SQLite by default; it is easy for Django users as such it won’t require any other type of installation. In the case your database choice is different that you have to the following keys in the DATABASE ‘default’ item to match your database connection settings.
- Engines: you can change database by using ‘django.db.backends.sqlite3’ , ‘django.db.backeneds.mysql’, ‘django.db.backends.postgresql_psycopg2’, ‘django.db.backends.oracle’ and so on
- Name: The name of your database. In the case if you are using SQLite as your database, in that case database will be a file on your computer, Name should be a full absolute path, including file name of that file.
- If you are not choosing SQLite as your database then settings like Password, Host, User, etc. must be added.
Django uses SQLite as default database, it stores data as a single file in the filesystem. If you do have a database server—PostgreSQL, MySQL, Oracle, MSSQL—and want to use it rather than SQLite, then use your database’s administration tools to create a new database for your Django project. Either way, with your (empty) database in place, all that remains is to tell Django how to use it. This is where your project’s settings.py file comes in.
We will add the following lines of code to the setting.py file:
1
2
3
4
5
6
DATABASES
=
{
'default'
: {
'ENGINE'
:
'django.db.backends.sqlite3'
,
'NAME'
: os.path.join(BASE_DIR,
'db.sqlite3'
),
}
}
1
2
3
4
5
6
| DATABASES = { 'default' : { 'ENGINE' : 'django.db.backends.sqlite3' , 'NAME' : os.path.join(BASE_DIR, 'db.sqlite3' ), } } |
Q27. Give an example how you can write a VIEW in Django?
Ans: This is how we can use write a view in Django:
1
2
3
4
5
6
7
from
django.http
import
HttpResponse
import
datetime
def
Current_datetime(request):
now
=
datetime.datetime.now()
html
=
"<html><body>It is now %s</body></html>"
%
now
return
HttpResponse(html)
Returns the current date and time, as an HTML document
1
2
3
4
5
6
7
| from django.http import HttpResponse import datetime def Current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s</body></html>" % now return HttpResponse(html) |