Page 1 of 1

Viết app đầu tiên với Django - Bài 1

Posted: Sat Apr 11, 2020 2:12 pm
by prince
Hãy học bằng thực hành.

Xuyên suốt hướng dẫn này, bạn sẽ được học cách tạo ra một ứng dụng thăm dò ý kiến cơ bản (polls). Nó được chia làm 2 phần
- Một public site để mọi người xem các thăm dò và bỏ phiếu cho các thăm dò đó.
- Một admin site cho phép bạn thêm, thay đổi, xoá các thăm dò.
Mặc định là các bạn đã cài đặt Django. Nếu chưa, hãy cài đặt ngay nhé

Cài đặt Django
Bạn có 3 lựa chọn để cài đặt Django:
- Cài đặt bản official. Đây là cách của hầu hết mọi người.
- Cài đặt phiên bản cung cấp theo hệ điều hành.
- Cài đặt bản đang phát triển mới nhất. Lựa chọn ngày dành cho những gười muốn các tính năng mới nhất mà không ngại việc chạy các đoạn code mới. Bạn có thể gặp các lỗi mới ở bản đang phát triển, nhưng báo cáo lại các lỗi này có thể giúp cho việc phát triển Django.
Chú ý: thường xuyên sử dụng tài liệu cho phiên bản mình đang sử dụng.

Ở đây mình xin giới thiệu cách đàu tiên: cài đặt bản official với pip
1. Cài đặt pip. Cách tốt nhất là sử dụng bản cài đặt pip tại đây: https://pip.pypa.io/en/latest/installin ... get-pip-py
2. Hãy xem qua virtualenv và virtualenvwrapper. Các tools này cung cấp các môi trường Python riêng biệt, do đó dễ thực hành hơn là cài những gói hệ thống lớn. Ngoài ra nó còn có thể cài các gói mà không cần quyền quản trị.
3. Sau khi đã tạo và kích hoạt các môi trường ảo, hãy dùng lệnh sau:

Code: Select all

$ python -m pip install Django
Để kiểm tra lại phiên bản đã cài, sử dụng lệnh:

Code: Select all

$ python -m django --version
Tạo project
Nếu như đây là lần đầu sử dụng Django, bạn sẽ cần chẩn thật với một số cài đặt ban đầu. Về tên, bạn sẽ cần tự động sinh một số code được tạo cho một project Django - một tập các thiết lập cho một mẫu Django, bao gồm cả cấu hình database, các cấu hình Django và thiết lập đặc biệt khác.
Từ command line, cd tới thư mục chứa code của bạn và chạy dòng lện sau:

Code: Select all

$ django-admin startproject mysite
Lệnh này tạo thư mục mysite trong thư mục hiện tại. Nếu nó không hoạt động, hãy truy cập vào đây để xem các lỗi khi chạy django-admin: Problems running django-admin

Hãy xem lệnh startproject tạo ra gì:
mysite/
.... manage.py
.... mysite/
........ __init__.py
........ settings.py
........ urls.py
........ asgi.py
........ wsgi.py
Các file này là:
- Thư mục bên ngoài: mysite chứa nội dung project. Tên củ nó khong quan trọng đối với Django, bạn có thể đổi tên nó nếu bạn muốn.
- manage.py: một tiện ích chạy command line để bạn tương tác với project Django theo nhiều cách. Bạn có thể đọc tất cả về manage.py tại django-admin and manage.py
- Bên trong thư mục mysite là gói Python thực tế của project. Tên của nó là gói python bạn sẽ cần đểu import bất cứ gì vào (ví dụ mysite.urls)
- mysite/__init__.py: là file trống nói cho Python biết rằng thư mục này là một package Python. Nếu bạn là người mới học Python, hãy đọc về các gói trong tài liệu Python chuẩn: more about packages.
- mysite/settings.py: thiết lập trong project.
- mysite/urls.py: khai báo các URL cho dự án; là một “table of contents – mục lục”
- mysite/asgi.py: điểm bắt đầu cho ASGI (Asynchronous Server Gateway Interface)
- mysite/wsgi.py: điểm bắt đầu cho WSGI (Web Server Gateway Interface)

Chạy server
Hãy kiểm tra xem project có chạy hay không. Thay đổi command line vào thư mục mysite, sau đó chạy lệnh:

Code: Select all

$ python manage.py runserver 
Bạn sẽ nhìn thấy output trên command line kiểu như này:
Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
April 01, 2020 - 15:50:53
Django version 3.0, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Bạn đã vừa khởi chạy server Django, một web nhẹ nhàng được viết bởi Python. Bây giờ hãy chú ý: đừng sử dụng server này giống với ở môi trường production. Nó chỉ dùng cho việc phát triển.
Bây giờ hãy mở trình duyệt và gõ địa chỉ http://127.0.0.1:8000/ vào để chạy. Bạn sẽ thấy một trang chúc mừng, với hình một tên lửa đang cất cánh. Nó đã hoạt động rồi đấy!

Bài tiếp theo chúng ta sẽ tạo ra một ứng dụng Polls để đưa các khảo sát lên, quản lý các khảo sát.