Lập trình website Python với Django Framework

Link Source: Lập trình website Python với Django Framework
Thể loại: Lập trình, Python
Tags: Django Framework, Học hành, Lập trình

Tạo website hello world đơn giản với Django Framework


Python không có sẵn khả năng làm web, chính vì thế, chúng ta cần phải có một số module nhất định để lập trình web với Python.


django_helloworld (7)


Với nhu cầu ngày càng đa dạng, lập trình viên nên chuyển sang một số framework Python như Django hay Flask để có thể cho ra các ứng dụng web phức tạp.


Các dịch vụ nổi tiếng như Instagram, Reddit, Quora và Disqus đều được phát triển trên nền Python.


Django framework là gì?


Django là một web framework khá nổi tiếng được viết hoàn toàn bằng ngôn ngữ Python. Nó không phải là một micro-framework như Flask, mà là một framework với đầy đủ các thư viện, module hỗ trợ các web-developer.


Django được so sánh khá nhiều với Ruby on Rails.


Tại sao nên dùng Django framework


Nếu bạn đang muốn xây dựng 1 website một cách nhanh nhất, thì Django luôn là một trong những lựa chọn hàng đầu mà bạn nên cân nhắc.


Django framework có đầy đủ các yếu tố phục vụ cho người bắt đầu(starter):


  • Nhanh: Chỉ vài dòng code là bạn có ngay trang web. Do Django có sẵn các thư viện về user authentication, content admin, site maps, RSS feed v.v…

  • Đảm bảo về tính bảo mật: Hạn chế các lỗi bảo mật thông thường như SQL Injection, cross-site scripting, cross-site request forgery hay clickjacking nữa.

  • Khả năng mở rộng tốt: Django framework có thể đáp ứng lượng traffic lớn, nghĩa là bạn không cần phải lo lắng về khả năng mở rộng sản phẩm của mình nữa.

  • Tính linh hoạt: Xây dựng CMS, hoặc Ecommerce Website, hay kể cả Social Network, Scientific Computing Platforms, tất cả đều có thể với Django framework.

Xem thêm: Hướng dẫn cài đặt Python trên Windows Linux đơn giản


Cài đặt Django trên Windows


  • Nhấn tổ hợp phím Window + R,

  • cmd nhấn enter để mở một cửa sổ terminal, sau đó gõ:

pip install django

Cài đặt Django trên Linux, Mac


  • Tổ hợp phím Ctrl + Alt + T để mở Terminal

  • Gõ:

sudo apt-get install python3-django

Chờ một lát để quá trình cài đặt diễn ra.


Bắt tay vào chủ đề chính nào, bây giờ mình sẽ


Hướng dẫn tạo 1 website hello world đơn giản với Django Framework


Công cụ:


  • Visual Studio Code

  • Python Extension

Đầu tiên, bạn tạo folder project đặt tên helloworldpython


django_helloworld (2)


Tại thư mục đó mở Visual Studio Code (đã cài extension Python)


Tạo môi trường ảo (virtual environment) để Django được cài vào đó.


Sử dụng môi trường ảo sẽ tránh cài đặt Django vào môi trường Python global và cung cấp cho bạn quyền kiểm soát chính xác các thư viện được sử dụng trong một ứng dụng. Một môi trường ảo cũng giúp bạn dễ dàng tạo tệp requirements.txt (giống file pom.xml trong maven Java)


Thay vì mỗi lần cài bạn phải cài từng thư viện một. Bạn không thể nhớ hết được và phải gõ nhiều lần. File requirements.txt sẽ giúp bạn tránh điều này.


Bạn có thể tạo file requirements.txt thủ công nhưng mình khuyến nghị dùng lệnh  pip freeze tạo tự động dựa trên các thư việc đã được cài trong môi trường ảo.


Tạo môi trường ảo(virtual environment) với tên env:


# macOS/Linux
sudo apt-get install python3-venv # If needed
python3 -m venv env

# Windows
python -m venv env

django_helloworld (3)


Tạo file requirements.txt:


  • Nhấn Ctrl+Shift+` để mở terminal.

  • Gõ: pip freeze > requirements.txt

Kích hoạt môi trường ảo:


Trong Visual Studio Code, View > Command Palette or (Ctrl+Shift+P) > Chọn Python: Select Interpreter


Chọn env vừa tạo


django_helloworld (4)


Sau khi kích hoạt môi trường bạn sẽ thấy (env) trước dòng lệnh terminal


Cài đặt thư viện vào môi trường ảo vừa chọn:


pip install -r requirements.txt


Nếu bạn gặp lỗi SSL thì chạy lệnh sau:


pip install -r requirements.txt --trusted-host pypi.org


django_helloworld (5)


Tạo Django Project


django-admin startproject web_project .

dấu . cuối để cài project vào ngay thư mục hiện tại.


django_helloworld (6)


Sau khi chạy lệnh trên sẽ có 1 số file:


manage.py: File quản trị dòng lệnh Django cho dự án. Ví dụ khi bạn start project django: python manage.py runserver


Một thư mục con có tên web_project, chứa các tệp sau:


  • __init__.py: một tệp trống cho Python biết thư mục này là gói Python.

  • settings.py: File cấu hình cho project Django mà bạn sẽ sửa đổi trong quá trình phát triển ứng dụng web.

  • urls.py: chứa danh sách url cho project Django giống với controller bên Java, mà bạn cũng sửa đổi trong quá trình phát triển.

  • wsgi.py: File cấu hình máy chủ web tương thích WSGI. Bạn không cần để ý nó trong bài viết này.

Chưa cần làm gì hết, hãy chạy project của bạn lên nào:


python manage.py runserver


Mặc định là port 8000. Bạn muốn port khác 5000 chẳng hạn, dùng lệnh này:  python manage.py runserver 5000


 


Giữ Ctrl và nhấn vào link http://127.0.0.1:8000/ để chạy trang web.


Tèn ten! Một trang web khá đẹp mặc định của Django xuất hiện !!!


django_helloworld (7)


Bây giờ chúng ta muốn in ra dòng chữ Hello, Django! from ShareEverythings.com thay vì trang mặc định, làm như sau.


Tạo app cho project Django


Gõ:


python manage.py startapp helloqlam

Sau khi chạy lệnh, bạn sẽ thấy có 1 thư mục là helloqlam, trong đó có:


  • admin.py: quản lí trang admin cho app

  • models.py: model của app

  • apps.py: cấu hình cho app, ví dụ tên định danh của app

  • views.py: chứa các hàm xử lí khi url hay controller gọi, file này giống service bên Java

Chỉnh sửa file views.py, để in ra hello world ở home page


from django.shortcuts import render
from
django.http import HttpResponse

def home(request):
return HttpResponse("Hello, Django! from ShareEverythings.com")

Tạo file urls.py với nội dung bên dưới để gọi hàm home trong file views.py trên


from django.urls import path
from helloqlam import views

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

Trong thư mục web_project, chỉnh sửa file urls.py,để gọi urls từ app helloqlam


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

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

Lưu hết lại, và chạy project nào:


python manage.py runserver


Mở trình duyệt với: http://127.0.0.1:8000/. Bạn sẽ thấy Hello, Django! from ShareEverythings.com


django_helloworld (1)


Video hướng dẫn chi tiết Tạo website Django Framework trong 5 phút:



Xong rồi! Mình đã hướng dẫn các bạn lập trình website Python với Django Framework thông qua hello world app đơn giản.


Bạn có thắc mắc thì bình luận bên dưới nhé!



Link Source: Lập trình website Python với Django Framework
Comment