Home > Article > Backend Development > How to create a web application in Python using Django?
Python is a powerful programming language, and Django is a popular Python web framework. Using Django, you can easily create highly modular and scalable web applications. This article will introduce how to create web applications using Django in Python.
First, you need to install Django. You can install it by entering the following command in the terminal through pip:
pip install Django
After installing Django, we need to create a Django project. Enter the following command in the terminal:
django-admin startproject projectname
This will create a Django project folder named projectname
with some default files in it. Next, go into the folder:
cd projectname
A Django project can contain multiple applications. Each application is independent and can contain its own models, views and templates. To create a new application in a Django project, you can enter the following command in the terminal:
python manage.py startapp appname
This will create a new application folder named appname
.
Django uses ORM (Object-Relational Mapping) to connect to the database. By default, Django uses a SQLite database. If you want to use other databases, such as MySQL or PostgreSQL, you need to configure it in the projectname/settings.py
file.
For example, if you want to use a MySQL database, you need to install mysqlclient and add the following code in the projectname/settings.py
file:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'databasename', 'USER': 'username', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': '', } }
In Django, a model is a Python class corresponding to a database table. You can write model classes in the models.py
file in the application folder. The following is a sample model class:
from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=50) published_date = models.DateField() def __str__(self): return self.title
In the example, we create a model class named Book
, which contains three fields: title
, author
and published_date
, each field is a CharField or DateField type. The __str__
method is used to display a human-readable representation of an object on the command line.
Views are functions that handle web application requests. Write the view function in the views.py
file in the application folder. Here is a sample view function:
from django.shortcuts import render from .models import Book def book_list(request): books = Book.objects.all() return render(request, 'book_list.html', {'books': books})
In the example, we have defined a view function named book_list
which gets all the books from the database and passes them to book_list .html
template.
In order to associate a URL with a view function, you need to define the URL pattern in the urls.py
file in the application folder. The following is an example URL pattern:
from django.urls import path from . import views urlpatterns = [ path('', views.book_list, name='book_list'), ]
In the example, we define an empty path, which will call the book_list
view function.
Templates are HTML files used to render data in a web application. Create a folder named templates
within the application folder. Create the book_list.html
template file in this folder. Here is an example template:
{% extends 'base.html' %} {% block content %} <h1>Book List</h1> <ul> {% for book in books %} <li>{{ book.title }}, by {{ book.author }}, published on {{ book.published_date }}</li> {% endfor %} </ul> {% endblock %}
In the example, we extend the base template named base.html
. We use a for loop to iterate over all books and display their field values.
Now, we have created the Django project and application, defined the models, views, and templates, and created the URL mapping. You can enter the following command in the terminal to start the Django development server:
python manage.py runserver
Visit http://localhost:8000/
in the browser, the book_list
view will be displayed The function returns a list of all books.
Conclusion
Creating web applications is very easy with Django and Python. You can easily create models, views and templates and connect to the database using Django ORM. Django uses the MVC (Model-View-Controller) pattern, which makes it very modular and extensible. If you want to explore more about Django, it is recommended to read Django’s official documentation.
The above is the detailed content of How to create a web application in Python using Django?. For more information, please follow other related articles on the PHP Chinese website!