Xây dựng ứng dụng web Python với Django

Django là một khuôn khổ web Python cấp cao khuyến khích phát triển nhanh chóng và thiết kế sạch sẽ, thực dụng. Nó giải quyết phần lớn những rắc rối của phát triển web, cho phép các nhà phát triển tập trung vào việc viết ứng dụng thay vì phát minh lại bánh xe. Bài viết này sẽ hướng dẫn bạn xây dựng một ứng dụng web đơn giản bằng Django.

Bắt đầu với Django

Trước khi bạn có thể bắt đầu xây dựng ứng dụng web Django, bạn cần cài đặt Django. Bạn có thể cài đặt Django bằng pip, trình cài đặt gói của Python:

pip install django

Sau khi Django được cài đặt, bạn có thể tạo một dự án Django mới bằng cách chạy lệnh sau trong terminal hoặc dấu nhắc lệnh:

django-admin startproject myproject

Lệnh này tạo một thư mục mới có tên là myproject với các tệp cần thiết để bắt đầu. Điều hướng đến thư mục này:

cd myproject

Tạo ứng dụng Django

Bên trong dự án Django của bạn, bạn có thể tạo các ứng dụng riêng lẻ xử lý chức năng cụ thể. Ví dụ, bạn có thể có một ứng dụng để xác thực người dùng, một ứng dụng khác cho các bài đăng trên blog, v.v. Để tạo ứng dụng, hãy chạy lệnh sau:

python manage.py startapp myapp

Thao tác này tạo một thư mục mới có tên là myapp chứa các tệp như models.py, views.pytests.py, cùng nhiều tệp khác. Bạn sẽ định nghĩa các mô hình, chế độ xem và mẫu của mình trong ứng dụng này.

Định nghĩa mô hình

Các mô hình Django xác định cấu trúc dữ liệu của bạn và được biểu diễn dưới dạng các lớp Python. Bạn xác định chúng trong tệp models.py trong ứng dụng của bạn:

from django.db import models

class BlogPost(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

Sau khi bạn xác định mô hình của mình, bạn cần tạo các bảng cơ sở dữ liệu cho chúng. Chạy các lệnh sau để áp dụng di chuyển:

python manage.py makemigrations
python manage.py migrate

Tạo chế độ xem và mẫu

Django views xử lý logic của ứng dụng của bạn và tương tác với các mô hình để hiển thị dữ liệu trong các mẫu. Một view đơn giản có thể được tạo trong tệp views.py:

from django.shortcuts import render
from .models import BlogPost

def home(request):
    posts = BlogPost.objects.all()
    return render(request, 'home.html', {'posts': posts})

Mã trên lấy tất cả các bài đăng trên blog từ cơ sở dữ liệu và chuyển chúng đến một mẫu có tên là home.html. Mẫu home.html được lưu trữ trong một thư mục có tên là templates trong ứng dụng của bạn:

<!DOCTYPE html>
<html>
<head>
    <title>Blog Home</title>
</head>
<body>
    <h1>Blog Posts</h1>
    <ul>
    {% for post in posts %}
        <li>{{ post.title }} - {{ post.created_at }}</li>
    {% endfor %}
    </ul>
</body>
</html>

Cấu hình URL

Để kết nối chế độ xem với URL, bạn cần xác định các mẫu URL. Tạo một tệp có tên urls.py trong thư mục ứng dụng của bạn và thêm mã sau:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]

Sau đó, đưa các mẫu URL của ứng dụng này vào tệp urls.py của dự án chính:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
]

Chạy máy chủ phát triển

Sau khi thiết lập mô hình, chế độ xem, mẫu và URL, bạn có thể chạy máy chủ phát triển Django để xem ứng dụng web của mình hoạt động như thế nào:

python manage.py runserver

Mở trình duyệt web và điều hướng đến http://127.0.0.1:8000/ để xem ứng dụng web Django của bạn đang chạy.

Phần kết luận

Django giúp bạn dễ dàng xây dựng các ứng dụng web mạnh mẽ và bền bỉ với Python. Hướng dẫn này đã đề cập đến những điều cơ bản về thiết lập dự án Django, tạo ứng dụng, định nghĩa mô hình, tạo chế độ xem và mẫu, cấu hình URL và chạy máy chủ phát triển. Với Django, bạn có thể dễ dàng xây dựng các ứng dụng web có khả năng mở rộng và bảo trì.