0% found this document useful (0 votes)
36 views

Django Notes

The document provides an overview of Django, a high-level Python web framework that facilitates rapid web application development through pre-built components. It explains the purpose of key files in a Django project, such as manage.py, settings.py, and urls.py, as well as the structure of applications within a project. Additionally, it outlines common commands like runserver, migrate, and createsuperuser, and compares the GET and POST methods in terms of their functionality and use cases.

Uploaded by

gcetly.2
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

Django Notes

The document provides an overview of Django, a high-level Python web framework that facilitates rapid web application development through pre-built components. It explains the purpose of key files in a Django project, such as manage.py, settings.py, and urls.py, as well as the structure of applications within a project. Additionally, it outlines common commands like runserver, migrate, and createsuperuser, and compares the GET and POST methods in terms of their functionality and use cases.

Uploaded by

gcetly.2
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

• Django – High-Level Python web framework that encourages

rapid development and clean pragmatic design.


• It helps the developers to build web applications providing
them with pre-built components for common tasks like
authentication, URL routing, database management, and
template rendering.
• It understands the MVT (Model View Template) architecture
plan.

Explanation of each Python File in a Django Project and Application.


1. manage.py:
• This is a command-line utility file for interacting with your
Django project.
• It is used for tasks like running the development server,
managing the database migrations, and executing various
Django commands.
2. settings.py:
• This file contains the configuration settings for your
Django project.
• You can define things like database settings, middleware,
installed apps, static files configuration, and many more.
3. urls.py:
• This file maps URL patterns to views in your Django
project.
• You define URL patterns using regular expressions and link
them to corresponding view functions.
4. Wsgi.py:
• Stands for Web Server Gateway Interface.
• It is used to help Django communicate with web servers
like Apache or Nginx.
• Generally, you don’t need to modify this.
5. Init.py:
• This file is used to mark the directory as a Python Package.
• It is typically left empty.

For each application within the Django Project


1. Models.py:
• This is where you define your database models using
Django’s ORM (Object Relational Mapping) System.
• You define Python classes that represent database tables
and their fields.
2. Views.py:
• Views are Python functions that handles the HTTP request
and return the HTTP Responses.
• This file contains the view functions for your application.
3. Urls.py (optional for applications):
• Similar to the project’s urls.py, this defines URL patterns
specific to a application.
• Helps in organizing and managing the URL’s within the
application.
4. Admin.py: (Optional)
• This file allows you to register your models within the
Django admin interface.
• You can customize how your models are displayed and
managed in the admin interface.
5. Apps.py:
• Configuration file for the application.
• Allows you to define the application-specific
configuration.
• This is often not modified unless needed.
6. Init.py:
• This is similar to the project’s init.py. It is used to mark the
directory as a Python package.
• It is usually kept empty.

Purpose of frequent commands:


1. runserver:
• Startsup the Django’s development server, allowing you to
test your Django project locally during development.
• It is used by the server of your Django application so that
you can access it via a web browser.
• By default, the development server runs on the port 8000
• Ex: python manage.py runserver
2. Migrate:
• This migrate command is used to apply database
migrations to synchronize the database schema with the
current state of your Django models.
• When you define or modify the models in Django, you
create migration files that specify the changes to be made
to the database schema.
• Running the python manage.py migrate applies these
migration files, creating or modifying the database tables
accordingly.
3. createsuperuser:
• This command is used to create a super user account for
accessing the Django admin interface.
• Superusers have the full access to the data and
functionality within the Django admin.
• When you run python manage.py createsuperuser, Django
will prompt you to enter a username, email address, and
password for the new-superuser account.
• This command is particularly useful for setting up
administrative access to manage your application’s data
during the development or in production environments.

Major differences between the GET method and POST method in


Django:
GET:
• Parameters are visible in the URL.
• Suitable for retrieving the data from the server.
• Generally used for non-sensitive data.
• Limited.
• Considered idempotent, meaning repeating the same request
multiple times should have the same effect as making it once.
POST:
• Parameters are not visible in the URL.
• Suitable for submitting the data to the server.
• Used for sensitive data or when modifying the server-side data.
• Can handle larger amounts of data compared to the GET.
• Not inherently idempotent, as repeating a POST request may
result in multiple actions being performed on the server.

You might also like