Skip to main content

How to make an assignment software with Django? OR How to make the Django project Explain step by step?

😀 How to make an assignment software with Django? OR How to make the Django project Explain step by step?😁


Here How to make an assignment software with Django? OR, How to make a Django project Explain step by step to help you make the new 

           concepts, you are learning to program 

           Languages were really very important.

Prerequisites: Set up a Django development environment. 

Objective: To be able to use Django's tools to start your own new website projects.

Initial Set-Up

To begin, navigate to a new directory on your computer. For example, 

we can create a HelloWorld folder on the Desktop with the following commands.

$ cd ~/Desktop

$ mkdir helloworld && cd helloworld

Make sure you’re not already in an existing virtual environment at this point. 

If you see text in parentheses () before the dollar sign ($) then you are. To exit it, type exit and hit Return. The parentheses should disappear which means that the virtual environment is no longer active.



We’ll use pipenv to create a new virtual environment, install Django, and then activate it.


$ pipenv install django~=3.1.0

$ pipenv shell

If you are on a Mac you should see parentheses now at the beginning of your 

command-line prompt in the form (helloworld). If you are on 

Windows you will not see a visual prompt at this time.


Create a new Django project called config making sure to include the period (.) 

at the end of the command so that it is installed in our current directory.


(helloworld) $ Django-admin start project config.

If you use the tree command you can see what our Django project structure now looks like. (Note: If the tree doesn’t work for you, install it with Homebrew: brew install tree.)


(helloworld) $ tree

.

├── Pipfile

├── Pipfile.lock

├── config

│   ├── __init__.py

|   ├── asgi.py

│   ├── settings.py

│   ├── urls.py

│   └── wsgi.py

└── manage.py


1 directory, 8 files

The config/settings.py file controls our project’s settings, urls.py tells Django which pages to build in response to a browser or URL request, and wsgi.py, which stands for Web Server Gateway Interface, helps Django serve our eventual web pages. 

The manage.py file is used to execute various Django commands such as running the local web server or creating a new app. Last, but not least, is the asgi.py file, new 

to Django as of version 3.0 which allows for an optional Asynchronous 

Server Gateway Interface to be run.


Django comes with a built-in web server for local development purposes 

which we can now start with the runserver command.


(helloworld) $ python manage.py runserver

If you visit http://127.0.0.1:8000/ you should 

see our familiar Django welcome page.

..............................................................................................................

Create An App

Django uses the concept of projects and apps to keep code clean and readable. A single 

Django project contains one or more apps within it that all work together to power a web application. This is why the command for a new Django project is the start project.


For example, a real-world Django e-commerce site might have one app for user 


authentication, another app for payments, and the third app to power item listing details: 

each focuses on an isolated piece of functionality. What are three distinct apps that all live within one top-level project?

How and when you split functionality into apps is somewhat subjective, but 

in general, each app should have a clear function.

Now it’s time to create our first app. From the command line, quit the server with Control+c. Then use the startapp command followed by the 

name of our app, which will be pages.


(helloworld) $ python manage.py startup pages

If you look again inside the directory with the tree command you’ll 

see Django has created a pages directory with the following files:

(helloworld) $ tree

├── pages

│   ├── __init__.py

│   ├── admin.py

│   ├── apps.py

│   ├── migrations

│   │   └── __init__.py

│   ├── models.py

│   ├── tests.py

│   └── views.py

Let’s review what each new pages app file does:

admin.py is a configuration file for the built-in Django Admin app

apps.py is a configuration file for the app itself

migrations/keep track of any changes to our models.py file so 

our database and models.py stay in sync

models.py is where we define our database models which Django 

automatically translates into database tables

tests.py is for our app-specific tests

views.py is where we handle the request/response logic for our web app

Even though our new app exists within the Django project, Django doesn’t “know” 

about it until we explicitly add it. In your text editor, open the settings.py file and scroll down to INSTALLED_APPS where you’ll see six built-in Django apps already there. Add our new pages app at the bottom:

# config/settings.py

INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'pages', # new

]

Don’t worry if you are confused at this point: it takes practice to internalize how Django projects and apps are structured. Over the course of this book 

we will build many projects and apps and the patterns will soon become familiar.


URLs, Views, Models, Templates

In Django, at least three (often four) separate files are required to power one single page. 

Within an app, these are the urls.py file, the views.py file, the models.py file, and finally an HTML template such as index.html.


This interaction is fundamental to Django yet very confusing to newcomers so let’s map out the order of a given HTTP request/response cycle. When you type in a URL, such as https://djangoforbeginners.com, the first thing that happens within our Django project is a URL pattern is found that matches the homepage. The URL pattern specifies a view which then determines the content for the page (usually from a database model) and then ultimately a template for styling and basic logic. The end result is sent back to the user as an HTTP response.

The complete flow looks something like this:

URL -> View -> Model (typically) -> Template

Remember how I said it can take three or four files for a given page? That’s because a model is not always needed, in which case three files are enough. But generally speaking, four will be used as we’ll see later in this book.


The main takeaway here is that in Django views determine what content is displayed on a given page while URLConfs determine where that content is going. 

The model contains the content from the database and the template provides styling for it.


When a user requests a specific page, like the homepage, the urls.py file uses a

regular expression to map that request to the appropriate view function which then returns the correct data. In other words, our view will output the text “Hello, World” while our URL will ensure that when the user visits the homepage they are redirected to the correct view.

To see this in action, let’s start by updating the views.py file in our pages app to look as follows:

# pages/views.py

from Django.HTTP import HttpResponse


def homepage view(request):

    return HttpResponse('Hello, World!')

Basically, we’re saying whenever the view function homepage view is called, return 

the text “Hello, World!” More specifically, we’ve imported the built-in HttpResponse method so we can return a response object to the user. We’ve created a function 

called homepage view that accepts the request object and returns a 

response with the string “Hello, World!”

Now we need to configure our URLs. Within the pages app, create a new urls.py 

file which on a Mac can be done with the touch command; Windows users must create the file within a text editor.

(helloworld) $ touch pages/urls.py

Then update it with the following code:


# pages/urls.py

from Django.URLs import path

from .views import homepage view


urlpatterns = [

    path('', homePageView, name='home')

]

On the top line, we import a path from Django to power our URL pattern and on the next line, we import our views. By referring to the views.py file as .views we are telling Django to look within the current directory for a views.py file and import the view homepage view from there.



Our URL pattern has three parts:

a Python regular expression for the empty string ''

a reference to the view called homepage view

an optional named URL pattern called 'home'

In other words, if the user requests the homepage, represented by the empty string '', then use the view called homepage view.


We’re almost done at this point. The last step is to update our config/urls.py file. 

It’s common to have multiple apps within a single Django project, like 

pages here, and they each need their own dedicated URL path.


Update the existing config/urls.py file as follows:


# config/urls.py

from django.contrib import admin

from Django.URLs import path, include # new


urlpatterns = [

    path('admin/', admin.site.urls),

    path('', include('pages.urls')), # new

]

We’ve imported include on the second line next to the path and then created a new URL pattern for our pages app. Now, whenever a user visits the homepage they will first be routed to the pages app and then to the home page view.


This need for two separate urls.py files is often confusing to beginners. Think of 

the top-level config/urls.py as the gateway to various url patterns distinct to each app.


Hello, World!

We have all the code we need now. To confirm everything works as expected, restart our Django server:


(helloworld) $ python manage.py run server

If you refresh the browser for http://127.0.0.1:8000/ it now displays the text “Hello, world!”




Conclusion-In this tutorial you will have to learn How to make an assignment software with Django? 

                OR How to make Django project Explain step by step Programming Language,

                So hope you liked these tutorials. If you have any questions or suggestions related to Django, please comment below and let us know.

                Finally, if you find this post informative, then share it with

                your friends on Facebook, Twitter, Instagram. 


 Thank you...




Comments

Popular posts from this blog

How to Send OTP in Mobile Number | login with OTP mobile Number | How to send OTP in mobile no with Spring Boot APP

   😂               Login with Mobile Number OTP ---------------------------------------------------------------------------- If you want to develop a project to log in with OTP mobile Number in Spring Boot Applications then this post for you. In this post, I am going to use some other service to send the OTP in mobile number. we have to use it in this project spring boot. we are going to use Twilio to send SMS. we are going to use a web socket to send the data from the browser to the SMS gateway. Oracle Database for store the user details. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> <version>2.3.3.RELEASE</version> </dependency> <dependency> <groupId>com.twilio.sdk</grou

Spring Boot With MySQL Database connection with Examples | MySQl Database Configuration with Spring Boot Projects

 😃 MySQL Database Configuration with Spring Boot Projects  In this article, we are going to introduce How to connect MySQL Database with the Spring Boot project. pom.xml   <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</gro

How can we create Auto generated field or ID for mongodb using spring boot

😂 How can we create an Auto-generated field or ID for MongoDB using spring boot? First Create One Application Like Mongodb_sequence-id-generator Pom.XML <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <dependency> <groupId>de.flapdoodle.embed</groupId> <artifactId>de.flapdoodle.embed.mongo</artifactId> </dependency> User.java package com.app; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Transient; import org.springframework.data.mongodb.core.mapping.Document; @Document(collection = "users_db") public class User { @Transient public static final String SEQUENCE_NAME = &