Hướng dẫn chi tiết lập trình web với Python cho người mới bắt đầu

Lượt xem
Home

Python là ngôn ngữ lập trình phổ biến, dễ học và có nhiều ứng dụng trong lập trình web. Với Python, bạn có thể tạo ra các website đơn giản đến phức tạp, từ blog cá nhân đến website thương mại điện tử. Bài viết hôm nay của Vietnix sẽ hướng dẫn chi tiết lập trình web với Python cho người mới bắt đầu, hãy cùng tìm hiểu ngay. 

Tại sao nên chọn Python để lập trình web?

Python là ngôn ngữ lập trình bậc cao hướng đối tượng được phát triển bởi Guido van Rossum vào năm 1991. Trải qua hơn 30 năm, Python đã trở thành một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới. Sự phổ biến của Python trong lập trình web bắt nguồn từ những ưu điểm nổi bật sau:

Tính dễ học, tương thích cao

Python được mệnh danh là ngôn ngữ lập trình “dễ học nhất”, bởi cú pháp đơn giản và  gần gũi với ngôn ngữ tự nhiên. Việc sử dụng pseudo-code (mã giả) làm cho Python dễ tiếp cận hơn, ngay cả người mới bắt đầu cũng có thể nhanh chóng làm quen.

Python dễ học, tương thích cao
Python dễ học, tương thích cao

Pseudo-code là cách mô tả dạng văn bản đơn giản cho một đoạn code hoặc thuật toán. Pseudo-code không phải là lập trình thực sự, không có script, file hay chương trình, mà chỉ là “code giả” như tên gọi. Pseudo-code được viết bằng tiếng Anh, không sử dụng bất kỳ ngôn ngữ lập trình cụ thể nào nên rất dễ hiểu. 

Tính năng độc đáo này giúp Python tương tác tốt hơn bất kỳ ngôn ngữ nào khác. Lập trình viên có thể trực tiếp tương tác và thử nghiệm các đoạn code, giúp việc sửa lỗi và phát triển chương trình trở nên năng suất, hiệu quả hơn. 

Linh hoạt và đơn giản

Trong quá trình thiết kế web với Python, lập trình viên có thể thực hiện hoạt động kiểm thử một cách rất linh hoạt. Lý do là bởi ngôn ngữ này cho phép người dùng chia nhỏ các vấn đề phức tạp thành các phần đơn giản hơn để xử lý. 

Linh hoạt và đơn giản hơn khi lập trình web với Python
Linh hoạt và đơn giản hơn khi lập trình web với Python

Sự linh hoạt của Python còn thể hiện ở chỗ đây là ngôn ngữ lập trình mã nguồn mở với khả năng chuyển đổi nhanh chóng trên nhiều nền tảng. Bạn có thể dễ dàng chuyển mã code Python sang nhiều hệ điều hành mà không cần thay đổi hoặc chỉ cần thay đổi rất ít. Một số nền tảng phổ biến hỗ trợ Python bao gồm: Linux, Windows, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE và PocketPC.

Ngôn ngữ bậc cao

Là một ngôn ngữ lập trình bậc cao, Python mang đến nhiều ưu điểm cho người mới bắt đầu học lập trình web:

  • Dễ hiểu: Ngôn ngữ bậc cao được viết gần gũi với ngôn ngữ tự nhiên của con người, giúp cho việc đọc và hiểu code dễ dàng hơn so với ngôn ngữ máy hoặc hợp ngữ.
  • Tái sử dụng: Lập trình viên có thể dựa vào các quy trình (process) đã được xây dựng sẵn để thiết lập các xử lý mới. Việc này giúp tiết kiệm thời gian và công sức, đồng thời tăng hiệu quả lập trình.
  • Tập trung vào logic lập trình: Thao tác quản lý bộ nhớ và các hoạt động cấp thấp khác được tự động hóa, giúp nhà phát triển có thể tập trung vào việc xây dựng logic, tối ưu hóa hiệu quả và tính năng của ứng dụng.
Python là ngôn ngữ bậc cao
Python là ngôn ngữ bậc cao

Dễ dàng học thêm các ngôn ngữ khác

So với các ngôn ngữ khác như C# hay Ruby, Python là lựa chọn dễ dàng hơn cho người mới bắt đầu học lập trình website. Lý do là bởi Python sở hữu cú pháp đơn giản, dễ hiểu, giúp bạn tiếp cận các khái niệm lập trình một cách nhẹ nhàng và hiệu quả.

Hơn thế nữa, việc thành thạo Python sẽ tạo nền tảng vững chắc để bạn học thêm các ngôn ngữ khác. Các ngôn ngữ lập trình đều có những điểm chung về nguyên tắc hoạt động và Python cũng không ngoại lệ. Nắm vững kiến thức nền tảng từ Python sẽ giúp bạn dễ dàng tiếp thu và hiểu rõ các khái niệm tương tự trong các ngôn ngữ khác, từ đó đẩy nhanh quá trình học tập, nâng cao kỹ năng lập trình.

Hướng đối tượng

Lập trình hướng đối tượng (OOP) là một trong những đặc tính cốt lõi của Python, giúp đơn giản hóa và nâng cao hiệu quả sử dụng cho người dùng. OOP trong Python dựa trên 3 nguyên lý sau:

  • Tính kế thừa (Inheritance): Cho phép một class sử dụng các thuộc tính và phương thức từ các class khác đã được định nghĩa sẵn. Từ đó tạo ra mối quan hệ “cha-con” giữa các class, giúp loại bỏ sự lặp lại, tiết kiệm thời gian và công sức lập trình.
  • Tính cô lập (Encapsulation): Giới hạn quyền truy cập vào các thuộc tính và phương thức bên trong một đối tượng. Các dòng lệnh thực thi bên trong đối tượng chỉ có thể được truy cập và chỉnh sửa bởi các phương thức của đối tượng đó, hạn chế sự can thiệp trực tiếp từ bên ngoài. 
  • Tính đa hình (Polymorphism): Tính đa hình cho phép các class khác nhau có thể thực hiện cùng một nhiệm vụ nhưng theo cách thức riêng biệt. Nhờ vậy, tăng tính linh hoạt và khả năng mở rộng cho chương trình.
Lập trình hướng đối tượng với Python
Lập trình hướng đối tượng với Python

Khả năng biên dịch và nhiều thư viện mở rộng

Python nổi bật với khả năng biên dịch source code thành bytecode – một dạng mã trung gian có thể được thực thi trực tiếp bởi máy tính, giúp tăng hiệu suất lập trình. Quá trình khá tương đồng với các ngôn ngữ kịch bản khác như PHP.

Không chỉ vậy, Python còn sở hữu hệ sinh thái thư viện mã nguồn mở khổng lồ, hỗ trợ cho mọi lĩnh vực lập trình, từ phát triển web (Django, Flask), khoa học dữ liệu (NumPy, Pandas) đến machine learning (scikit-learn, TensorFlow) và nhiều hơn nữa. Mỗi thư viện sẽ có những ưu – nhược điểm riêng nên việc lựa chọn sử dụng thư viện nào còn phụ thuộc quy mô, mục đích của từng dự án. 

Khả năng biên dịch và nhiều thư viện mở rộng
Khả năng biên dịch và nhiều thư viện mở rộng

Lập trình web với Python Django giúp SEO tốt hơn

Framework Django từ Python là một lựa chọn lý tưởng để lập trình website tối ưu cho SEO. Django hỗ trợ tạo URL thân thiện cho website, không chỉ giúp người dùng dễ dàng ghi nhớ, truy cập mà còn tối ưu hóa cho các công cụ tìm kiếm. Cụ thể, URL dễ đọc sẽ giúp Google cũng như các công cụ tìm kiếm khác thu thập thông tin và index website nhanh chóng, góp phần nâng cao thứ hạng website trên kết quả tìm kiếm.

Python framework để lập trình web với Python

Có rất nhiều framework Python để lập trình web, mỗi framework có ưu và nhược điểm riêng. Dưới đây là một số framework phổ biến nhất:

Lập trình web với Python Django

Django là một framework web cao cấp được đánh giá cao bởi tốc độ phát triển nhanh và cú pháp rõ ràng, dễ hiểu. Điểm nổi bật của Django là cộng đồng người dùng lớn mạnh, luôn sẵn sàng hỗ trợ và cung cấp tài liệu chi tiết cho những người mới bắt đầu.

lap trih web voi python 5
Lập trình web với Python Django

Về độ phổ biến, Django không hề thua kém các framework nổi tiếng khác như Nuxtjs hay Reactjs. Nền tảng này được sử dụng bởi nhiều thương hiệu lớn như Spotify, Pinterest, Instagram,… minh chứng cho sức mạnh và hiệu quả của Django trong việc phát triển các ứng dụng web phức tạp.

Lập trình web với Python Flask

Bên cạnh Django, Flask cũng là một framework thiết kế web bằng Python nổi bật với kích thước nhỏ gọn và tính linh hoạt cao. Nhờ ưu điểm này, Flask trở thành lựa chọn lý tưởng cho việc phát triển đa dạng website, từ đơn giản đến phức tạp. Tuy nhiên, so với Django, Flask đôi khi có thể gặp hạn chế do bản chất là một microframework. Điều này thể hiện qua sự thiếu hụt các mô-đun hỗ trợ sẵn như website template, phân quyền và xác thực tài khoản.

Lập trình web với Python Flask
Lập trình web với Python Flask

Mặc dù vậy, triết lý của Flask là tập trung vào việc xây dựng cốt lõi một cách chuẩn mực, giúp việc bảo trì website trở nên dễ dàng hơn trong tương lai. Đây là một điểm cộng lớn cho những ai muốn phát triển website với Flask ngay từ đầu. Hiện tại, Flask đang được sử dụng bởi các công ty lớn như Netflix, Linkedin và Uber, minh chứng cho sự tin cậy, hiệu quả của framework này.

Road map (lộ trình) để lập trình web với Python

Dưới đây là lộ trình dành cho những người đang muốn trở thành lập trình viên Python chuyên phát triển website. Lộ trình được xây dựng từ những kiến thức nền tảng nhất, dễ dàng tiếp cận cho những ai mới bước chân vào lĩnh vực này.

1. HTML, CSS

Đây là hai ngôn ngữ nền tảng mà bất kỳ lập trình viên frontend nào cũng cần trang bị. HTML đóng vai trò như bộ khung, định nghĩa cấu trúc của website, trong khi CSS giúp tô điểm cho website thêm đẹp mắt và thu hút.

HTML, CSS
HTML, CSS

Sau khi đã thành thạo HTML và CSS, hãy mở rộng hiểu biết của bạn về DOM (Document Object Model) và cách trình duyệt render website. Đây là kiến thức nâng cao giúp bạn hiểu rõ cách thức hoạt động và tối ưu hóa hiệu suất website sau này.

2. Javascript

HTML và CSS là nền tảng quan trọng, nhưng chưa đủ để tạo nên một website hoàn chỉnh. Để biến website trở nên sống động và có thể tương tác với người dùng, bạn cần đến JavaScript. Nắm vững JavaScript là bước tiến quan trọng để bạn trở thành một lập trình viên web thực thụ. Để làm chủ ngôn ngữ này, bạn cần tập trung nắm vững những khái niệm cốt lõi sau:

  • Cấu trúc dữ liệu (Data types): Hiểu rõ các kiểu dữ liệu cơ bản như String, Number, Boolean, Object, Array,… là bước đầu tiên để thao tác dữ liệu hiệu quả.
  • Biến (Variables): Biết cách khai báo, sử dụng và quản lý biến giúp lưu trữ, truy cập dữ liệu linh hoạt trong quá trình lập trình.
  • Cú pháp cơ bản (General conventions): Nắm vững cú pháp Javascript giúp bạn viết mã chính xác, dễ đọc và dễ bảo trì.
  • Làm việc với chuỗi (String manipulation): Thao tác với chuỗi là yếu tố thiết yếu trong việc xử lý văn bản, tạo giao diện động tương tác với người dùng.
  • Biểu thức (Arithmetic and operators): Hiểu rõ các biểu thức, toán tử giúp thực hiện các tính toán logic và xử lý dữ liệu chính xác.
  • Vòng lặp (Loops): Sử dụng vòng lặp giúp thực hiện các tác vụ lặp đi lặp lại một cách hiệu quả, tiết kiệm thời gian và công sức.
Javascript
Javascript

Học Javascript không hề khó, nhưng để hoàn toàn thành thạo cũng không phải là điều dễ dàng. Để trở thành một “master” Javascript đòi hỏi bạn phải đầu tư nhiều thời gian, nỗ lực học hỏi là luyện tập thường xuyên.

3. jQuery và frontend framework

jQuery là một thư viện JavaScript mã nguồn mở có hỗ trợ đắc lực cho lập trình viên frontend. jQuery giúp đơn giản hóa việc viết code JavaScript và thực hiện các tác vụ phức tạp trên trình duyệt một cách hiệu quả nhờ những đặc điểm dưới đây:

  • Dễ sử dụng: Cú pháp ngắn gọn và dễ đọc giúp việc viết code JavaScript nhanh chóng, đơn giản hơn.
  • Tương tác trực quan: Dễ dàng thao tác với các phần tử HTML và tạo hiệu ứng trực quan cho website.
  • Xử lý sự kiện: Hỗ trợ xử lý các sự kiện như nhấp chuột, nhấn phím, hoặc gửi yêu cầu AJAX một cách dễ dàng.
  • Hoạt động trên đa trình duyệt: Đã được kiểm tra trên nhiều trình duyệt phổ biến, đảm bảo tính nhất quán trên các nền tảng khác nhau.

Ngoài jQuery, lập trình viên có thể tìm hiểu thêm một số frontend framework thông dụng khác như: React, Angular, Vue.js,…

lap trih web voi python 9
jQuery và frontend framework

4. Python

Sau khi đã thành thạo các framework frontend, đã tới thời điểm mà bạn bắt đầu chinh phục Python. Tuy nhiên đừng quá lo lắng, với những kiến thức được trang bị ở 3 bước đầu, bạn hoàn toàn có thể tiếp cận Python nhanh chóng mà không gặp quá nhiều khó khăn. Hơn nữa, đây còn là bước đệm quan trọng để bạn làm quen và thành thạo Django – một framework web phổ biến được viết bằng Python.

5. Django và Database

Giai đoạn cuối cùng trong hành trình trở thành lập trình viên web với Python là tìm hiểu về Django và database. Tại đây, bạn sẽ bắt đầu làm quen với các hệ quản trị cơ sở dữ liệu phổ biến như SQLite, MySQL, PostgreSQL, Oracle,… đồng thời kết hợp cùng Django để xây dựng phần backend vững chắc. Đây cũng là nền tảng để bạn triển khai các mô hình kinh doanh trực tuyến và logic business phức tạp vào website của mình. 

Django
Django

Những ứng dụng thiết kế bằng Python

Python là một ngôn ngữ lập trình đa năng được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm cả thiết kế và phát triển ứng dụng. Một số ứng dụng nổi tiếng được xây dựng bằng Python bao gồm:

Youtube

Nền tảng chia sẻ video hàng đầu thế giới này ban đầu được xây dựng dựa trên PHP. Tuy nhiên, sau này YouTube đã chuyển sang sử dụng Django, một framework Python mạnh mẽ, linh hoạt, giúp nâng cao hiệu quả hoạt động và khả năng mở rộng.

Instagram

Instagram – mạng xã hội chia sẻ ảnh và video với lượng người dùng khổng lồ được xây dựng dựa trên Python. Instagram tận dụng khả năng xử lý dữ liệu hiệu quả và tốc độ cao của Python để quản lý lượng thông tin khổng lồ được tạo ra bởi hàng triệu người dùng mỗi ngày.

lap trih web voi python 11
Instagram

Spotify

Nền tảng stream nhạc Spotify, nơi cung cấp dịch vụ nghe nhạc trực tuyến phổ biến nhất hiện nay, hiện đang sử dụng Django cho cả Backend Service và Machine Learning. Django giúp Spotify quản lý lượng dữ liệu khổng lồ từ hàng triệu người dùng một cách hiệu quả, đồng thời học máy nhằm cá nhân hóa trải nghiệm nghe nhạc cho mỗi người dùng.

Dropbox

Dịch vụ lưu trữ đám mây Dropbox đã sử dụng Python kể từ khi thành lập cho cả phía máy chủ và phía máy khách. Lý do đằng sau sự lựa chọn này chính là khả năng đọc và hỗ trợ đa nền tảng của Python. Nhờ vậy, Dropbox có thể thử nghiệm và triển khai các tính năng mới một cách nhanh chóng và hiệu quả. Python đã giúp Dropbox xây dựng một hệ thống linh hoạt, có khả năng mở rộng và dễ dàng tích hợp với các dịch vụ khác.

Dropbox
Dropbox

Hướng dẫn thiết kế một web đơn giản với Python

Để bắt đầu thiết kế web với Python, bạn cần chọn một framework phù hợp. Python cung cấp nhiều framework hỗ trợ phát triển web tốt như Django, Flask hay Pyramid. Bài viết này sẽ hướng dẫn thiết kế web với Flask bởi đây là framework khá dễ sử dụng và phù hợp cho người mới bắt đầu.

Thiết lập môi trường

Bước 1: Để làm việc với Flask, trước hết bạn cần cài đặt Python và Pip trên máy tính của mình. Bạn có thể tham khảo hướng dẫn cài đặt tại đây:   https://docs.python-guide.org/starting/install3/osx

Bước 2: Sử dụng lệnh sau để cài đặt Flask vào môi trường Python:

pip install flask

Bước 3: Mở terminal hoặc command prompt và tạo thư mục mới cho dự án của bạn. Ví dụ:

mkdir hoctiengtrungonline

Bước 4: Mở thư mục dự án hoctiengtrungonline và tạo file mới tên là app.py. Sau đó, thêm nội dung sau vào file app.py:

from flask import Flask

app = Flask(__name__)

@app.route("/")

defmain():

    return"Welcome"

if __name__ == "__main__":

  app.run()

Nhập lệnh sau để khởi chạy app.py:

python app.py

Bước 5:  Mở trình duyệt web và truy cập địa chỉ http://localhost:5000/. Bạn sẽ thấy thông báo “Welcome” hiển thị trên màn hình.

Tạo trang chủ

Trong thư mục hoctiengtrungonline, tạo một thư mục mới tên là templates. Trong thư mục templates, tiếp tục tạo một file mới tên là index.html. Mở file index.html bằng trình soạn thảo văn bản và thêm đoạn code sau vào:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hoc Tieng Trung Online App</title>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://hroy.eu/bootstrap/docs/examples/jumbotron-narrow/jumbotron-narrow.css" rel="stylesheet">
</head>
<body>
    <div class="container">
        <div class="header clearfix">
            <nav>
                <ul class="nav nav-pills pull-right">
                    <li role="presentation" class="active" style="margin-right: 15px;"><a href="#">Home</a></li>
                    <li role="presentation" style="margin-right: 15px;"><a href="#">Sign In</a></li>
                    <li role="presentation"><a href="showSignUp">Sign Up</a></li>
                </ul>
            </nav>
            <h3 class="text-muted">Hoc Tieng Trung Online App</h3>
        </div>
        <div class="jumbotron">
            <h1>Chinese Lesson App</h1>
            <p class="lead">Start learning Chinese easily and effectively with our online courses.</p>
            <p><a class="btn btn-lg btn-success" href="showSignUp" role="button">Sign up today</a></p>
        </div>
        <div class="row marketing">
            <div class="col-lg-6">
                <h4>Lesson List 1</h4>
                <p>Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List</p>
                <h4>Lesson List 2</h4>
                <p>Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List</p>
                <h4>Lesson List 3</h4>
                <p>Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List</p>
            </div>
            <div class="col-lg-6">
                <h4>Lesson List 4</h4>
                <p>Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List</p>
                <h4>Lesson List 5</h4>
                <p>Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List</p>
                <h4>Lesson List 6</h4>
                <p>Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List Lesson List</p>
            </div>
        <footer class="footer">
            <p>© Copyright 2024</p>
        </footer>
    </div>
</body>
</html>

Sau đó, mở lại file app.py và tiến hành import render_template để kết xuất các fiile template bằng lệnh:

from flask import Flask, render_template

Sửa đổi phương thức main() để trả về file template đã được kết xuất thay vì in ra “Hello World!”:

defmain():return render_template(‘index.html’)

Mở trình duyệt web và truy cập địa chỉ http://localhost:5000/. Bạn sẽ thấy trang chủ được thiết lập sẵn xuất hiện trên trình duyệt.

Tạo một trang đăng ký

Bước 1: Thiết lập database

Sử dụng lệnh sau để tạo cơ sở dữ liệu có tên “hoctiengtrungonline”:

CREATE DATABASE hoctiengtrungonline;

Tiếp tục nhập lệnh sau để tạo bảng tbl_user:

CREATE TABLE `hoctiengnhatonline`.`tbl_user` (

    `user_id` BIGINT AUTO_INCREMENT,

    `user_name` VARCHAR(40) NULL,

    `user_username` VARCHAR(40) NULL,

    `user_password` VARCHAR(40) NULL,

    PRIMARY KEY (`user_id`)

);

Cuối cùng, tạo một thủ tục lưu trữ có tên “sp_createUser” để lưu thông tin người dùng vào bảng “tbl_user”:

DELIMITER $
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_createUser`(
    IN p_name VARCHAR(20),
    IN p_username VARCHAR(20),
    IN p_password VARCHAR(20)
)
BEGIN
    IF (SELECT EXISTS (SELECT 1 FROM tbl_user WHERE user_username = p_username)) THEN
        SELECT 'Username Exists !!';
    ELSE
        INSERT INTO tbl_user (
            user_name,
            user_username,
            user_password
        ) VALUES (
            p_name,
            p_username,
            p_password
        );
    END IF;
END$
DELIMITER ;

Bước 2: Tạo giao diện đăng ký

Truy cập folder hoctiengtrungonline/templates và tạo một file HTML mới với tên signup.html. Mở file signup.html vừa tạo và chèn đoạn code sau vào:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>App Học Tiếng Trung Online</title>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet">  
    <link href="https://hroy.eu/bootstrap/docs/examples/jumbotron-narrow/jumbotron-narrow.css" rel="stylesheet">
    <link href="../static/signup.css" rel="stylesheet">
</head>
    <div class="container">
        <div class="header">
            <nav>
                <ul class="nav nav-pills pull-right">
                    <li role="presentation" class="active" style="margin-right: 15px;"><a href="#">Home</a></li>
                    <li role="presentation" style="margin-right: 15px;"><a href="#">Sign In</a></li>
                    <li role="presentation"><a href="showSignUp">Sign Up</a></li>
                </ul>
            </nav>
            <h3 class="text-muted">App Học tiếng Trung Trực tuyến</h3>
        </div>
        <div class="jumbotron">
            <h1>App Học tiếng Trung Trực tuyến</h1>
            <form class="form-signin">
                <label for="inputName" class="sr-only">Name</label> 
                <input type="text" name="inputName" id="inputName" class="form-control" placeholder="Name" required autofocus>
                <label for="inputEmail" class="sr-only">Email address</label>   
                <input type="email" name="inputEmail" id="inputEmail" class="form-control" placeholder="Email address" required>
                <label for="inputPassword" class="sr-only">Password</label>
                <input type="password" name="inputPassword" id="inputPassword" class="form-control" placeholder="Password" required>
                <button id="btnSignUp" class="btn btn-lg btn-primary btn-block" type="submit">Sign up</button>
            </form>
        <footer class="footer">
            <p>© Copyright 2019</p>
        </footer>
    </div>
</body>
</html>

Mở folder static bên trong folder hoctiengtrungonline và tạo file CSS mới bằng lệnh: 

body {
    padding-top: 40px;
    padding-bottom: 40px;
}
.form-signin {
    max-width: 330px;
    padding: 15px;
    margin: 0 auto;
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
    margin-bottom: 10px;
}
.form-signin .checkbox {
    font-weight: normal;
}
.form-signin .form-control {
    position: relative;
    height: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px;
    font-size: 16px;
}
.form-signin .form-control:focus {
    z-index: 2;
}
.form-signin input[type="email"] {
    margin-bottom: -1px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.form-signin input[type="password"] {
    margin-bottom: 10px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

Tiếp theo, mở file app.py và thêm đoạn code dưới đây:

@app.route(‘/showSignUp’)

defshowSignUp():

return render_template(‘signup.html’)

Cuối cùng hãy nhấp vào nút SignUp để hoàn tất quá trình tạo trang đăng ký cho website. 

Bước 3: Cài đặt phương thức đăng ký

Trong bước này, chúng ta sẽ thiết lập tính năng đăng ký người dùng trên trang web. Để thực hiện việc này, cần thêm một đoạn code xử lý yêu cầu đăng ký (signUp) vào file app.py; đồng thời import các thư viện cần thiết để truy xuất dữ liệu được gửi từ form đăng ký trên giao diện người dùng (UI).

@app.route('/signUp',methods=['POST'])
defsignUp(): # read the posted values from the UI
    _name = request.form['inputName']
    _email = request.form['inputEmail']
    _password = request.form['inputPassword']
    # validate the received values
    if _name and _email and_password:
        return json.dumps('html':'All fields good !!')
    else:
        return json.dumps('html':'Enter the required fields')
from flask import Flask, render_template, json, request

Bước 4: Xử lý đăng ký trên web

Tiếp tục thực hiện các lệnh sau để tạo yêu cầu đăng ký sau khi người dùng click vào nút SignUp:

$(function() {
    $('#btnSignUp').click(function() {
        $.ajax({
            url: '/signUp',
            data: $('form').serialize(),
            type: 'POST',
            success: function(response) {
                console.log(response);
            },
            error: function(error) {
                console.log(error);
            }
        });
    });
});

Bước 5: Gọi thủ tục lưu trữ của MySQL

Để kết nối và thao tác với MySQL trong Flask, bạn cần cài đặt thư viện flask-mysql bằng lệnh sau:

pip install flask-mysql

Mở file app.py, import thư viện flask_mysql và thêm các đoạn code sau vào:

from flask import Flask, render_template, json, request
from flaskext.mysql import MySQL
from werkzeug import generate_password_hash, check_password_hash
mysql = MySQL()
app = Flask(__name__)# MySQL configurations
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = '12345678'
app.config['MYSQL_DATABASE_DB'] = 'hoctiengtrungonline'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'mysql.init_app(app)

Tiếp tục nhập các lệnh sau tại function xử lý đăng ký thông tin người dùng:

#validate the received values
if _name and _email and _password:
#All Good, let's call MySQL
    try:
        conn = mysql.connect()
        cursor = conn.cursor()
        _hashed_password = generate_password_hash(_password)
        cursor.callproc('sp_createUser',(_name,_email,_hashed_password))
        data = cursor.fetchall()
        if len(data) is 0:
            conn.commit()
            return json.dumps('message':'User created successfully !')
        else:
            return json.dumps('error':str(data[0]))
    except Exception as e:
        return json.dumps('error':str(e))
    finally:
        cursor.close() 
        conn.close()
else:
    return json.dumps('html':'Enter the required fields')

Sau khi hoàn tất, bạn lưu lại những thay đổi trên và khởi động lại máy chủ. Truy cập trang đăng ký, nhập tên, email và mật khẩu, sau đó nhấp vào nút “SignUp”. Lúc này, bạn sẽ nhận được thông báo sau:

“message”: “User created successfully !”

Một số khóa học lập trình web Python online cho người mới

Dưới đây là một số khóa học lập trình web Python online dành cho người mới bắt đầu. Những khóa học này thường cung cấp kiến thức nền tảng của Python và cách áp dụng chúng trong phát triển web:

Real Python

Real Python là một nguồn tài nguyên học lập trình Python rất phong phú và phù hợp với mọi trình độ, từ người mới bắt đầu đến chuyên gia. Khi trở thành thành viên của Real Python, bạn có thể tiếp cận với:

  • Các bài học chi tiết về Python cơ bản và nâng cao.
  • Hướng dẫn thiết kế web với Flask và Django, hai trong số những framework web phổ biến nhất của Python.
  • Video, bài viết, postcast, sách,… hỗ trợ việc học.
  • Cộng đồng hỗ trợ trực tuyến để giải đáp thắc mắc và chia sẻ kinh nghiệm.

Khóa học lập trình web Python trên Real Python sẽ dạy bạn cách xây dựng ứng dụng web từ đầu, bao gồm cả frontend và backend.

lap trih web voi python 13
Real Python

Python Tutorial for Beginners: Learning Programming in 7 Days

Python Tutorial for Beginners: Learning Programming in 7 Days là một khóa học được thiết kế để bạn có thể bắt đầu học lập trình Python và nắm chắc những kiến thức cơ bản trong vòng một tuần. Các bài giảng bắt đầu từ cài đặt Python, các cú pháp cơ bản cho đến cấu trúc dữ liệu, OOP,… Các nội dung thường được trình bày dưới dạng video và bài tập thực hành, giúp học viên củng cố kiến thức qua từng ngày.

Intro to Python of Data Science

Intro to Python for Data Science là một khóa học cung cấp bởi DataCamp, nơi chuyên về việc đào tạo kỹ năng liên quan đến data science và phân tích dữ liệu. Khóa học này phù hợp cho:

  • Những người muốn ứng dụng Python vào data science.
  • Người muốn học cách làm việc với các thư viện Python như NumPy, Pandas,…
Các khóa học Python
Các khóa học Python

Các bài giảng chủ yếu tập trung vào việc giới thiệu cách sử dụng Python để xử lý, phân tích và trực quan hóa dữ liệu. Bên cạnh các bài giảng video, khóa học cũng cung cấp thêm bài tập lập trình trực tuyến, giúp người học vận dụng kiến thức ngay lập tức.

Cả ba khóa học trên đều cung cấp nền tảng vững chắc cho người mới bắt đầu với Python và lập trình web. Tùy thuộc vào mục tiêu và sở thích cá nhân, bạn có thể chọn lựa khóa học phù hợp để phát triển kỹ năng của mình.

Câu hỏi thường gặp

Ưu điểm khi lập trình web với Python là gì?

Những ưu điểm chính của Python trong lập trình web bao gồm:
– Cú pháp đơn giản, dễ đọc, dễ hiểu, gần gũi với ngôn ngữ tự nhiên.
– Cộng đồng lập trình viên đông đảo và nhiệt tình, luôn sẵn sàng hỗ trợ giải đáp thắc mắc.
– Có rất nhiều tài liệu học tập, hướng dẫn dành cho Python, giúp bạn dễ dàng tìm kiếm thông tin và giải pháp cho các vấn đề gặp phải.
– Sở hữu nhiều framework web mạnh mẽ và phổ biến như Django, Flask, Pyramid…
– Có thể tích hợp với nhiều thư viện và công cụ khác nhau, giúp mở rộng khả năng và chức năng cho website của bạn.
– Đa dụng, không chỉ được sử dụng để lập trình web mà còn có thể áp dụng cho nhiều lĩnh vực khác như khoa học dữ liệu, phân tích dữ liệu, phát triển ứng dụng di động, game…

Làm sao để bắt đầu lập trình web với Python?

Bước đầu tiên để bắt đầu lập trình web với Python là nắm vững cú pháp cơ bản của ngôn ngữ này. Sau khi đã có nền tảng kiến thức Python, bạn có thể tiếp tục tìm hiểu về các framework phổ biến như Flask và Django.
Để hỗ trợ quá trình học tập, bạn có thể tham khảo thêm các tài liệu và khóa học trực tuyến. Có rất nhiều nguồn tài liệu miễn phí và chất lượng cao trên mạng, ví dụ như trang web chính thức của Python hay các khóa học trên các nền tảng như Coursera, Udemy. Ngoài ra, bạn cũng có thể tham gia cộng đồng lập trình Python để trao đổi kiến thức và kinh nghiệm với những người có cùng đam mê.

Lập trình web với Python có khó không?

Nhìn chung, mức độ khó của việc lập trình web bằng Python phụ thuộc vào hai yếu tố là trình độ lập trình hiện tại của bạn và mức độ quen thuộc với Python. Nếu bạn đã có kiến thức nền tảng về lập trình web và đã từng tìm hiểu về Python thì quá trình này sẽ không quá khó khăn.

Lời kết

Trên đây là toàn bộ bài hướng dẫn chi tiết về lập trình web với Python cho người mới bắt đầu. Hy vọng những kiến thức trong bài viết này đã giúp bạn xây dựng lộ trình học tập Python phù hợp cho riêng mình. Đừng quên theo dõi những bài viết tiếp theo của Vietnix để cập nhật thêm nhiều kiến thức bổ ích về lập trình và công nghệ nhé.

Chia sẻ lên

Theo dõi trên

Logo Google new

Đánh giá

5/5 - (80 bình chọn)

Hoàng Vui

Kết nối với mình qua

Icon Quote
Icon Quote
Đăng ký nhận tin
Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vietnix

Bình luận

Chỉ số tăng trưởng

Điểm Desktop

100 (+39)

Điểm Mobile

100 (+67)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

99 (+28)

Điểm Mobile

100 (+50)

Core Web Vitals

Passed

Lĩnh vực

SEO

Chỉ số tăng trưởng

Điểm Desktop

99 (+26)

Điểm Mobile

98 (+59)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

100 (+8)

Điểm Mobile

98 (+35)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Chỉ số tăng trưởng

Điểm Desktop

100 (+61)

Điểm Mobile

100 (+61)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Võ Thiên Tòng

25 Tháng 2 lúc 21:09

·

Mình muốn gửi lời cảm ơn chân thành đến Team Vietnix, anh Hưng Nguyễn, anh Vietnix Trung, em Quốc Huy đã hỗ trợ tối ưu Page Speed Insight (PSI) cho website vanvoiminhhoa.vn của mình.
Biết đến anh Hưng đã lâu nhưng chưa có duyên sử dụng dịch vụ bên anh. Tình cờ thấy được bài Post của anh về việc hỗ trợ tối ưu PSI miễn phí chỉ với vài Slot, thấy AE cmt khá nhiều nên cũng không nghĩ tới lượt mình. Hôm sau đánh liều inbox 1 phen xem sao thì may mắn được đưa vào danh sách. Vài ngày sau được Team Vietnix liên hệ và hỗ trợ.
Kết quả đạt được:
• Điểm xanh lè xanh lét
• Tốc độ tải trang nhanh hơn hẳn
• Các chỉ số cũng được cải thiện đáng kể
• Và mình tin rằng với việc PSI được cải thiện cũng thúc đẩy những thứ khác đi lên theo!
Mình thực sự hài lòng với dịch vụ của Vietnix và muốn giới thiệu đến tất cả mọi người:
• Dịch vụ Wordpress Hosting: Tốc độ nhanh, ổn định, bảo mật cao, hỗ trợ kỹ thuật 24/7. (https://vietnix.vn/wordpress-hosting/)
• Dịch vụ Business Hosting: Dung lượng lớn, phù hợp cho website có lượng truy cập cao, tích hợp nhiều tính năng cao cấp. (https://vietnix.vn/business-hosting/)
Đặc biệt, Vietnix đang có chương trình ưu đãi:
• Giảm giá 20% trọn đời khi nhập code THIENTONG_PAGESPEED tại trang thanh toán (Chu kỳ 12 tháng trở lên)
• Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website
Cám ơn Vietnix một lần nữa!
#Vietnix #Vanvoiminhhoa #Pagespeedinsight
Trước khi tối ưu
Sau khi tối ưu
Thiện Nguyễn - CEO SEO Dạo

5 Tháng 3 lúc 16:21

·

CORE WEB VITAL YẾU TỐ XẾP HẠNG TÌM KIẾM SEO
Core Web Vitals là một tập hợp các chỉ số đo lường hiệu suất của trang web từ góc độ người dùng, được Google sử dụng để đánh giá trải nghiệm người dùng trên các trang web. Các chỉ số chính bao gồm:
– Largest contentful paint (LCP): Tốc độ render của page. Mục tiêu là dưới 2,5 giây.
– First input delay (FID): Tốc độ phản hồi của website với tương tác của người dùng. Mục tiêu là dưới 100ms.
– Cumulative Layout Shift (CLS): Độ ổn định của bố cục trang. Mục tiêu là dưới 0.1.
Tất cả các chỉ số này đo lường các khía cạnh quan trọng của trải nghiệm người dùng trên trang web. Google đã công bố rằng từ tháng 5 năm 2021, các Core Web Vitals sẽ được sử dụng làm một trong các yếu tố đánh giá trong việc xếp hạng trang web trên kết quả tìm kiếm. Do đó, hiểu và cải thiện các Core Web Vitals là rất quan trọng đối với SEO.
Tóm lại, Core Web Vitals không chỉ giúp cải thiện hiệu suất và xếp hạng trang web trên công cụ tìm kiếm, mà còn cải thiện trải nghiệm của người dùng khi họ truy cập và tương tác với trang website.
P/s: mình đang có gói hỗ trợ đặc biệt cho anh em tối ưu tốc độ bên VIETNIX:
– Giảm 20% lifetime dịch vụ Hosting Business và Hosting Wordpress chu kỳ 12 tháng trở lên.
– Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website.
Anh em có nhu cầu đăng ký qua bạn Vietnix Trung này nhé và nhập mã SEODAO_PAGESPEED để được ưu đãi nhé.😁
Trước khi tối ưu
Sau khi tối ưu SEO Dạo
Icharm review

5 Tháng 3 lúc 15:43

·

[Mình vừa được hỗ trợ tối ưu page speed website]
Trước khi được tối ưu, web của mình điểm rất thấp, đặc biệt là mobile chỉ có 39. Cơ duyên thế nào lúc lướt face lại va phải chương trình tối ưu pagespeed bên Vietnix.
Sau khi được Trần Hoàng Phúc và team Vietnix hỗ trợ nhiệt tình, điểm web vọt lên 98 99 (như hình bên dưới). Dùng thử web thì thấy quá là mượt, 10 điểm cho team Vietnix.
Nói thật thì mình thật sự ấn tượng về sự nhiệt huyết, tận tâm và rất chuyên nghiệp bên Vietnix.
Anh em có nhu cầu về hosting hay có vấn đề về website như:
1. Web load chậm
2. Khách rời web vì đợi tải nội dung, hình ảnh lâu
3. Hay tất tần tật mọi thứ về website
THÌ LIÊN HỆ NGAY VIETNIX NHÉ!
Và đừng quên dùng pass “ICHARM_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting. Quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
Trước khi tối ưu
Sau khi tối ưu
Hoàng Nguyễn

29 Tháng 2 lúc 17:04

·

Xin chào mọi người! Vừa rồi mình có sử dụng dịch vụ tối ưu website, tăng tốc độ tải trang pagespeed của Vietnix kết quả trên cả tuyệt vời nên mình viết bài này để chia sẻ thông tin với các bạn.
Lý do mình chọn dịch vụ tối ưu tốc độ website của Vietnix:
✅ Đội ngũ chuyên gia giàu kinh nghiệm: Đã tối ưu thành công cho hàng nghìn website trong nhiều lĩnh vực khác nhau. Các bạn nhân viên rất thân thiện, nhiệt tình và chủ động trong quá trình làm việc để cập nhật tiến độ.
✅ Quy trình chuyên nghiệp:
– Kiểm tra và phân tích: Vietnix sử dụng các công cụ tiên tiến để kiểm tra và phân tích tốc độ website của bạn.
– Xác định nguyên nhân: Vietnix xác định nguyên nhân khiến website tải chậm và đưa ra giải pháp tối ưu phù hợp.
– Tối ưu hóa website: Vietnix áp dụng các kỹ thuật tối ưu tiên tiến nhất để tăng tốc độ tải trang.
– Báo cáo kết quả: Vietnix cung cấp báo cáo chi tiết về kết quả tối ưu hóa website.
Công nghệ tiên tiến: Vietnix sử dụng các công nghệ tối ưu mới nhất như LiteSpeed, LSCache, Memcached, Redis, v.v.
✅ Cam kết kết quả: Vietnix cam kết tăng tốc độ website của bạn lên tối thiểu 90%.
✅ Giá cả cạnh tranh: Vietnix cung cấp dịch vụ tối ưu tốc độ website với mức giá cạnh tranh nhất trên thị trường.
📣 Để đăng ký sử dụng dịch vụ tối ưu tốc độ website và các dịch vụ khác như hosting, vps, domain… các bạn có thể đăng ký tại https://portal.vietnix.vn/aff.php?aff=57 hoặc Inbox cho sếp Vietnix Trung nhé.
Các bạn có thể kiểm tra tốc độ trang của mình https://lasan.edu.vn hoặc một vài trang khác đã sử dụng dịch vụ của Vietnix như sau:
https://pagespeed.web.dev/…/https…/v8beqewyt2…
https://pagespeed.web.dev/…/https…/etiohjvtl4…
https://pagespeed.web.dev/…/https…/yczuqpw6d1…
https://pagespeed.web.dev/…/https…/xf9y65kuzk…
https://pagespeed.web.dev/…/https…/fdrsms15en…
https://pagespeed.web.dev/…/https…/s7p9cgzeri…
Trước khi tối ưu
Sau khi tối ưu
Dũng cá xinh

30 Tháng 1 lúc 19:09

·

[Đỉnh]
Em có dùng hosting, vps, cloud vps, cloud server, dedicated server của rất nhiều bên từ trong nước đến nước ngoài để hosting khoảng 2,000+ domain. Mỗi bên đều có ưu nhược khác nhau, nhưng có 1 số bên đặc biệt “bá đạo”, trong đó có: Vietnix!!!!

Lần đầu tiên em được cả CEO Hưng Nguyễn lẫn Master về dev Vietnix Trung của 1 đơn vị hàng đầu liên quan đến Hosting, Server support từ A – Z (từ Zalo, Tele, đến FB và cả Phone)

Em có khá nhiều web dạng Big Data (bài, ảnh, database, data) lên đến hàng trăm Gb. Càng to thì nó càng có nhiều vấn đề về phần phản hồi ban đầu (nhược điểm cố hữu của php wordpress so với nativejs, reactjs, html, headless,…), và anh em Vietnix có nhã ý hỗ trợ xử lý phần Speed Insight này.

Kết quả thực sự kinh ngạc, từ cách trao đổi đến xử lý vấn đề, cut off những cái cần cut off, xử lý rất sâu vấn đề và gợi ý rất nhiều ý tưởng optimize hệ thống!!!! Thực sự quá hài lòng về kết quả cũng như cách tương tác của các đầu tầu bên Vietnix ^^!!!

Nhân cơ duyên được kết nối với những cao thủ của Vietnix, em xin chia sẻ và lan tỏa để nhiều anh em có cơ hội được sử dụng những dịch vụ tốt nhất với giá vô cùng hợp lý!!!!

1 – Với anh em chưa có hosting, em đặc biệt recommend sử dụng hosting bên Vietnix:
– Sử dụng mã DUNGCAXINH_PAGESPEED sẽ được giảm 20% trọn đời (lifetime luôn)
– Áp dụng các gói Hosting Business, Hosting wordpress và reg 1 năm trở lên
– Anh em chưa biết cách reg thì còm men hoặc ib để em hướng dẫn hoặc nhờ các bạn bên Vietnix support từ A – Z

2 – Anh em có hosting rồi và muốn build blog hoặc web = wordpress mà chưa có giao diện thì nhân tiện em đang có tài khoản Premium bên Envato, em sẽ tặng bất kỳ giao diện nào có trên Envato Themes (Link em để dưới còm men) ạ. Cả nhà còm hoặc ib em Themes mà mọi người “chim ưng”, em sẽ cho anh em tải về, up drive và gửi ạ!!! (Chương trình này kéo dài đến ngày 29 tết âm lịch ạ)

3 – BEST NHẤT luôn!!!! Anh em nào mua hosting dùng mã DUNGCAXINH_PAGESPEED sẽ được tối ưu 100 điểm tốc độ cho 1 web (đây là ưu đãi riêng của CEO Hưng Nguyễn dành cho bạn bè của #dungcaxinh ^^) (Giá trị nhất là cái vụ số 3 này anh chị em nhé ^^), cơ hội vàng để move về đơn vị hosting uy tín là đây ^^!!!!

Một lần nữa xin chân thành cám ơn 2 đồng chí em: Hưng Nguyễn và Vietnix Trung đã giải được một bài toán khó cho các trang WP Big data mà anh loay hoay bao lâu nay chưa tìm ra đáp án!!! Chúc Vietnix ngày càng phát triển và có một năm 2024 đại đại thắng nhé ^^ !!!!!
#SEO #Vietnix #dungcaxinh

Trước khi tối ưu
Sau khi tối ưu
Hiếu AI

2 Tháng 2 lúc 21:06

·

UY TÍN – TẬN TÂM – TỐC ĐỘ

3 từ trên là vẫn chưa đủ để nói về quy trình làm việc cực chuyên nghiệp của team Vietnix.Chuyện là mình có con website chính đang có lượt truy cập organic hàng ngày cũng tương đối (hình 1)

Vấn đề là, con site này đang nằm trên hosting dùng chung nên tốc độ load chưa nhanh, tốc độ load chưa nhanh thì trải nghiệm visitor chưa tốt, trải nghiệm visitor chưa tốt thì tỷ lệ chuyển đổi ra đơn hàng kiểu gì thì kiểu cũng sẽ bị ảnh hưởng.

Biết rõ là đang mất tiền nhưng không biết xử lý như lào, nghĩ mà cay.

Đang loay hoay thì vận may nó tới, hôm qua đang lướt phở bò thấy a Nguyễn Việt Dũng đăng bài, rảnh nên thả cái comment hóng hớt, ai ngờ ngoằng phát thấy ông Dũng tạo nhóm với Vietnix Trung luôn.

Ae Vietnix thì siêu tốc độ, lập tức lấy thông tin vào việc, không hỏi han lằng nhằng, không kỳ kèo chốt đơn dù lúc đấy cũng đang đêm muộn.
Sáng hôm sau dậy vẫn còn đang lơ ngơ mở điện thoại check tin nhắn thì đã thấy ae Vietnix báo xong việc, trong khi mình vẫn chưa biết có chuyện gì xảy ra @@.

Được cái bấm thử website thì thấy load siêu nhanh, chưa tới một giây là thông tin các thứ hiện hết. Quá phê, thả con ảnh trước sau (hình 2,3) để ace tiện đối chiếu nhé. Thế này thì mình gửi gắm nốt 15 em website còn lại cho team Vietnix thôi chứ không cần nghĩ ngợi gì nữa. 10/10.

Nên là:

  1. Anh chị em muốn có một con website tốc độ load nhanh như tốc độ trở mặt của nyc – Dùng ngay dịch vụ hosting của Vietnix
  2. Anh chị em có website rồi muốn tìm bên hosting uy tín, chuyên nghiệp hỗ trợ không quản ngày đêm – Liên hệ ngay Vietnix Trung
  3. Anh chị em quan tâm đến trải nghiệm khách hàng, từ những cái nhỏ nhất như tăng tốc độ website – Better call Vietnix Trung

Và đừng quên dùng pass “HIEUAI_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting, quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
#SEO #Vietnix #hieuai

Website
Trước khi tối ưu
Sau khi tối ưu

Chỉ số tăng trưởng

Điểm Desktop

100 (+43)

Điểm Mobile

100 (+74)

Core Web Vitals

Passed

Lĩnh vực

AI