Home  >  Article  >  Backend Development  >  How to create a web application in Python using Django?

How to create a web application in Python using Django?

王林
王林Original
2023-06-23 09:33:061045browse

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.

  1. Installing Django

First, you need to install Django. You can install it by entering the following command in the terminal through pip:

pip install Django
  1. Create Django project

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
  1. Create Django Application

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.

  1. Configuring the database

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': '',
    }
}
  1. Create model

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.

  1. Creating views and URLs

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 .htmltemplate.

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.

  1. Creating Templates

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.htmltemplate 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.

  1. Running the Django Server

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn