[Django framework] Cài đặt Python, Django framework trên MacOS - #1



Python là một ngôn ngữ lập trình scripting phổ biến và hết sức thú vị. Nó được chọn làm ngôn ngữ lập trình đầu tiên để dạy cho những người chưa biết lập trình hoặc thanh thiếu niên. Google, Microsoft và nhiều tập đoàn, công ty tin học sử dụng để vận hành hệ thống dịch vụ của mình. Các nhà nghiên cứu khóa học, phân tích dữ liệu lớn cũng thích sử dụng Python cho công việc của mình, vì nó được việc, không màu mè, học nhanh, dùng luôn.

Triết lý cốt lõi của ngôn ngữ Python là:

  • Đẹp đẽ tốt hơn xấu xí 
  • Minh bạch tốt hơn che đậy 
  • Đơn giản tốt hơn phức tạp 
  • Phức tạp tốt hơn rắc rối 
  • Dễ đọc

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ó đã trải qua 10 năm phát triển và trưởng thành. Nó là một framework với đầy đủ các thư viện, module hỗ trợ các web-developer. Django nhanh, có đầy đủ các thư viện/module cần thiết, Đảm bảo về tính bảo mật, khả năng mở rộng tốt, tính linh hoạt cực cao. 

Những website nổi tiếng có sử dụng Django Web Framework (Python): 

Google, DropBox, Pinterest, Instagram, Spotify, Firefox, NASA, Bitbucket,…

Trong quy mô bài viết này tập trung vào việc làm thế nào để setup 1 môi trường hoàn chỉnh để làm việc với python và Django, vì vậy chỉ giới thiệu sơ lược về python và Django. 

Chúng ta bắt đầu vào nội dung chính của bài viết. 

Cài đặt Python3.x


Với hệ điều hành MacOs, mặc định chúng ta được cài đặt Python 2.7, nhưng nếu muốn làm việc với Django ver 2.0, chúng ta cần nâng cấp lên Python 3. Với Python ver 2.7 chỉ tương thích với phiên bản Django ver 1.x.

Bạn không cần gỡ cài đặt Python phiên bản cũ, chỉ đơn giản là cài python3 vào. Chúng ta truy cập vào đường dẫn ở dưới, tải phiên bản 3.x về và cài đặt với giao diện GUI thân thiện.  
https://www.python.org/downloads/

Sau khi cài đặt xong bạn có thể bật terminal lên và check python ver 3 đã cài thành công chưa bằng câu lệnh:
python3 --version` hoặc `python3 -V 

Lưu ý: Python ver 2.x vẫn còn ở hệ thống, chúng ta k cần gỡ ra, khi cài đặt và cấu hình django chỉ cần trỏ đúng đường dẫn vào Python ver3 là được. Tôi sẽ giới thiệu chi tiết phần tiếp theo sau đây.

Cài đặt Django2.x


Chúng ta cần 1 môi trường ảo hoá để có thể sử dụng Django, các bạn có thể cài Docker, nhưng tôi sử dụng môi trường ảo hoá cơ bản và phổ biến là virtualenvwrapper, môi trường ảo hoá này tạo ra sự thống nhất về môi trường phát triển trên nhiều nền tảng bao gồm MacOs, Window, Linux/Unix.

1. Cài môi trường ảo hoá. 
Bạn sử dụng pip3 để cài đặt tool với câu lệnh trên terminal sau: 
sudo pip3 install virtualenvwrapper
Add những dòng dưới đây vào cuối .bash_profile file:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh
Bạn cần thay thế đường dẫn tới python3virtualenvwrapper.sh với đường dẫn trên máy bạn. Để tìm đường dẫn của chúng bạn gõ `Which`. Sau khi tìm được đúng đường dẫn và thay thế file .bash_profile của chúng ta sẽ như sau: 


Sau đó bạn cần chạy `source ~/.bash_profile` để reload file startup. 

2. Tạo một môi trường ảo hoá để làm việc với các gói Django. 
Chạy câu lệnh sau: mkvirtualenv name_of_environment. 
Lưu ý: name_of_environment là tên bạn có thể thay thế tuỳ ý. 
Sau khi chạy câu lệnh tạo môi trường ảo hoá thành công, bạn sẽ tự động truy cập vào môi trường ảo hoá đó. 

Khi ở trong môi trường ảo hoá bạn có thể thoát ra, ktra các môi trường có sẵn, truy cập vào 1 môi trường mong muốn và xoá môi trường đã tạo với các câu lệnh sau:


  • deactivate — Thoát khỏi Python virtual environment hiện tại
  • workon — Hiển thị các virtual environment hiện có
  • workon name_of_environment — Truy cập vào 1 Python virtual environment nhất định
  • rmvirtualenv name_of_environment — Xoá environment hiện có. 

3. Installing Django
Sau khi bạn đã cài đặt thành công môi trường ảo hoá và truy cập dc vào nó với cú pháp `workon name_of_environment`, 1 lưu ý rằng mỗi lần các bạn tạo 1 môi trường ảo hoá, các bạn cần cài django lại, giống như việc bạn cài djago trên các server khác nhau vậy, không phải cài 1 lần dùng trên mọi môi trường ảo hoá. 
Ta bắt tay vào cài Django nào, chúng ta sử dụng pip3 để install Django
pip3 install django
Đợi để terminal tự tải và install Django, sau khi quá trình đó hoàn thành bạn có thể check với cú pháp như sau: 
python3 -m django --version

Trong ảnh gif ở trên do tôi đã tải Django về cài cho 1 môi trường ảo hoá khác nên nó sẽ không download lại mà chỉ cài luôn. Ở trên máy các bạn, lần đầu sẽ vẫn download.

Chạy thử một ứng dụng Django để test xem quá trình cài đặt của bạn đã hoàn thành chưa nhé. 

Bước 1: Tạo 1 folder cho website test của bạn và truy cập vào đó
Chạy câu lệnh
mkdir name_django_folder 
hoặc bạn cũng có thể vô thẳng trong folder đó để tạo folder với tên bạn muốn. Tôi khuyến khích các bạn dùng câu lệnh command line vì nó sẽ giúp bạn làm quen với 1 kỹ năng lập trình viên rất cần thiết, vì khi thao tác trên server bạn không có GUI để click chuột. 
Sau đó các bạn có thể truy cập vào folder vừa tạo bằng cách chạy câu lệnh cd trên terminal
cd name_django_folder
như hình dưới tôi tạo 1 folder với tên djangoLocTut trong folder Sites, nơi tôi đặt tất cả dự án  và truy cập vào đó. 

Bước 2: Tạo 1 bộ khung cho website bạn sử dụng admin của Django framework.
Sử dụng cú pháp sau:
django-admin startproject [name_of_folder]
Sau đó cd [name_of_folder] để truy cập vào. Ví dụ tôi sẽ tạo khung project của tôi với tên folder là myLocTestSite và truy cập vào đó, bạn viết hoa hay thường cũng được, miễn phù hợp với cách viết của bạn và không dấu cách. 

Bước 3: Trong thư mục myLocTestSite tôi mới tạo ở bước trên, bạn sẽ thấy có file manage.py, đó là file script chính của dự án. 
Chúng ta sẽ chạy máy chủ với việc gọi file này như sau: 
python3 manage.py runserver

Như hình bạn có thể thấy khi chạy như vậy có 1 thông báo lỗi in ra, nó là vì tôi đã chạy 1 em Django python khác trùng với port mặc định đó, vậy phải làm sao, chúng ta đơn giản là thêm cổng vào đằng sau của câu lệnh như sau, chọn 1 số bạn thích và không trùng với dịch vụ khác đang chạy là được: 
python3 manage.py runserver 6969
Như vậy là server đã chạy, bạn chỉ cần truy cập vào trình duyệt để kiểm tra kết quả. 

Một vấn đề nữa xảy ra, đó là tại sao vô được trang chủ nhưng không vô được admin vậy, ta đang cài đặt django-admin mà.
Đơn giản là ta còn thiếu 1 bước đó là tạo webapp cho project, sau đó ta sẽ có sqllite và các bảng cơ bản. 1 project là bao gồm nhiều webapp trong đó. 

Bước 4: Tạo web app
Để tạo app, ta chạy câu lệnh sau với một tab terminal mới đã truy cập vào Bước 3, vẫn giữ tab run server chạy: 
python3 manage.py startapp [name_app]

Thêm  appName vào khu vực: INSTALLED_APPS ở file setting.py

Quay lại terminal và chạy câu lện migrate để tạo DB
python3 manage.py migrate

Giờ chúng ta có thể load lại trang và thấy admin-page đã hoạt động, nhưng công việc chưa hoàn thành. Bây giờ ta mới ớ ra, WTF User/Pass là gì? Mình đã tạo bao giờ đâu (tôi là ai, tôi đang ở đâu?) 

Chính xác là các bạn chưa từng tạo nó, cũng không có user/pass mặc định nào cả. Ta phải tạo ở bước sau đây, bằng cú pháp: 
python3 manage.py createsuperuser
Sau đó sử dụng user/pass đã tạo để truy cập. 

Enjoy!

Các bạn đã có mọi thứ cơ bản để bắt đầu vọc vạch python3django2.x, hẹn gặp các bạn trong những bài sau tôi sẽ nói kỹ hơn về những điều thú vị của python, cách sử dụng và build 1 website bằng django. 
If you liked this article

Let's subscribe the updates of Scuti!
Share on Google Plus

About Nguyễn Đức Lộc

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 Comments:

Post a Comment