30+ Latest Django interview questions 
<https://www.onlineinterviewquestions.com/django-interview-questions/>
Q1. Is Django free?

Yes, Django is free open source web framework for Python
Q2. Django is based on which design pattern.

Django closely follows the MVC (Model View Controller) design pattern, 
however, it does use its own logic in the implementation. Because the “C” 
is handled by the framework itself and most of the excitement in Django 
happens in models, templates, and views, Django is often referred to as an 
MTV framework. In the MTV development pattern:

   - M stands for “Model,” the data access layer. This layer contains 
   anything and everything about the data: how to access it, how to validate 
   it, which behaviors it has, and the relationships between the data.
   - T stands for “Template,” the presentation layer. This layer contains 
   presentation-related decisions: how something should be displayed on a Web 
   page or other type of document.
   - V stands for “View,” the business logic layer. This layer contains the 
   logic that accesses the model and defers to the appropriate template(s). 
   You can think of it as the bridge between models and templates.

Further reading https://djangobook.com/model-view-controller-design-pattern/
Q3. When and who create Django?

According to https://en.wikipedia.org/wiki/Django_(web_framework), Django 
was created in the fall of 2003, when the web programmers at the Lawrence 
Journal-World newspaper, Adrian Holovaty and Simon Willison, began using 
Python to build applications. It was released publicly under a BSD license 
in July 2005. The framework was named after guitarist Django Reinhardt.
Q4. List server requirement to install Django Framework.

As Django is Python Framework, in order to install Django Python is 
required.Django comes with an inbuilt lightweight web server that you can 
use for the testing purpose.If you are using Django on production Apache 
with mod_wsgi is required.
Q5. List the database backends supported by Django Framework?

Django officially supports four database backends, they are

   - PostgreSQL
   - MySQL
   - SQLite
   - Oracle

In addition to these, you can also use following 3rd parties

   - SAP SQL Anywhere
   - IBM DB2
   - Microsoft SQL Server
   - Firebird
   - ODBC

Q6. What is recommended way to install Django?

Installing using pip is the recommended way to install Django Framework. 
Below are the steps to install official release of Django with pip

   - Install pip.
   - Configure virtualenv and virtualenvwrapper
   - Once virtual environment is created and activated, enter the command pip 
   install Django to install Django

Q7. How to install the development version of Django

Follow the below steps to Install the development version of Django 
Framework.

   - Check out Django’s main development branch
   
$ git clone https://github.com/django/django.git


   - Make sure that the Python interpreter can load Django’s code. The most 
      convenient way to do this is to use virtualenv, virtualenvwrapper, and 
pip.
      - After setting up and activating the virtualenv, run the following 
      command:
   
$ pip install -e django/

Source:https://docs.djangoproject.com/en/2.0/topics/install/
Q8. Where are Django migrations stored?

You can think Django Migrations as version control sytem for your 
database/Model.It keep track of changes done in your application 
Models/Table like adding a field, deleting a model, etc. Migrations in 
Django are stored as an on-disk format, referred to here as “migration 
files”. These files are actually just normal Python files with an 
agreed-upon object layout, written in a declarative style.

A basic migration file looks like this:

from django.db import migrations, models

class Migration(migrations.Migration):

    dependencies = [('migrations', '0001_initial')]

    operations = [
        migrations.DeleteModel('Tribble'),
        migrations.AddField('Author', 'rating', models.IntegerField(default=0)),
    ]

Further Reading https://docs.djangoproject.com/en/2.0/topics/migrations/
Q9. How a request is processed in Django?

In Django whenever a request is made by a user, it goes through following 
steps:

   - Django determines the root URLconf module to use. Ordinarily, this is 
   the value of the ROOT_URLCONF setting, but if the incoming HttpRequest 
   object has a urlconf attribute (set by middleware), its value will be 
   used in place of the ROOT_URLCONF setting.
   - Django loads that Python module and looks for the variable 
   urlpatterns. This should be a Python list of django.urls.path() and/or 
   django.urls.re_path() instances.
   - Django runs through each URL pattern, in order, and stops at the first 
   one that matches the requested URL.
   - Once one of the URL patterns matches, Django imports and calls the 
   given view, which is a simple Python function (or a class-based view). The 
   view gets passed the following arguments:
      - An instance of HttpRequest.
      - If the matched URL pattern returned no named groups, then the 
      matches from the regular expression are provided as positional arguments.
      - The keyword arguments are made up of any named parts matched by the 
      path expression, overridden by any arguments specified in the optional 
      kwargs argument to django.urls.path() or django.urls.re_path().
      - If no URL pattern matches, or if an exception is raised during any 
      point in this process, Django invokes an appropriate error-handling view.
   
Q10 When to use the iterator in Django ORM?

Iterators are used for traversing an object in Python which implements 
iterator protocol. It consists of two methods __iter__() and next().
In Django, a good use of iterator is when you are processing results that 
take up a large amount of available memory (lots of small objects or fewer 
large objects).
For more clarification please read when to use and when to not use 
iterator() in the Python Django ORM
https://stackoverflow.com/questions/12681653/when-to-use-or-not-use-iterator-in-the-django-orm
Q11. When QuerySets are evaluated in Django?

In Django, a QuerySet can be evaluated in Iteration, Slicing, 
Pickling/Caching, repr(),len(), list() and bool().
Q12. How to check installed version of Django?

By running below command on Terminal.You can check installed version of 
Django Framework.

py -m django --version

Q13. How to set/unset session in Django?

Setting Session in Django

request.session['key'] = 'value'

Unset Session in Django

del request.session['key']

Q14. What is a context in Django?

In Django Context is a dictionary with variable names in the form of key 
and value like {varible1: 101, varible2: 102},when we pass this context to 
the template render method, {{ varible1 }} would be replaced with 101 and 
{{ varible2 }} with 102 in your template.
Q15. Explain mixins in Django.

A mixin is a special kind of multiple inheritance in Python. There are two 
main situations where mixins are used:

   - You want to provide a lot of optional features for a class.
   - You want to use one particular feature in a lot of different classes.

Read More from 
https://stackoverflow.com/questions/533631/what-is-a-mixin-and-why-are-they-useful
Q16. How to get current page URI in Django template.

You can use {{ request.path }} and {{ request.get_full_path }} to get 
current page URI in Django template
Q17. List some popular websites built on Django framework?

Following are the list of top 10 websites built on Django framework.

   1. Instagram
   2. Disqus
   3. Bitbucket
   4. Mozilla Firefox
   5. Pinterest
   6. NASA
   7. Onion
   8. The Washington Post
   9. Eventbrite
   10. Mahalo

Q18. How to create an Constant in Django.

To create a constant in Django. Open your settings.py file and add a 
variable like MY_CONST = “MY_VALUE”.
To use this constant in your views simply import setting like “Import 
settings in views.py” and use it as
settings.MY_CONST

Read More from 
https://www.onlineinterviewquestions.com/django-interview-questions/

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/6ec4ae5a-dadb-4155-bb1e-568c4eaf54f6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to