NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
15/04/2024
Lượt xem

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

15/04/2024
27 phút đọc
Lượt xem

Đánh giá

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

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

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hoàng Vui

SEO Specialist
tại

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

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

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG