Này, bạn thế nào rồi? Tôi là một nhà phát triển phụ trợ 18 tuổi và là một Kỹ sư Máy học đầy tham vọng. Và trong bài viết này, tôi sẽ viết về cách xây dựng một ứng dụng web trên điện thoại của bạn bằng Python 😁. Hãy đi sâu vào nó.

Yêu cầu
Điều đầu tiên chúng ta cần ở đây là điện thoại Android, ít nhất là phiên bản 6.0 trở lên. Nhưng nếu tôi nói với bạn đó là tất cả những gì chúng ta cần thì sao? Có vẻ quá tốt là đúng.
Bây giờ, điều tiếp theo chúng ta cần làm là cài đặt một ứng dụng di động trên điện thoại có tên là pydroid3.

Như bạn có thể thấy, pydroid3 là một ứng dụng di động cho phép bạn viết Python trên điện thoại di động của mình, vì vậy hãy tiếp tục và cài đặt nó.
Điều tiếp theo chúng ta cần làm là cài đặt Django. Nếu bạn chưa quen với Django, vui lòng xem tài liệu Django tại đây.
Để cài đặt Django, chúng ta cần mở điều hướng bên trong pydroid3 và chọn Terminal:

Sau đó bấm vào nó và chúng ta sẽ thấy điều này:

Khi đã xong, tất cả những gì bạn cần làm là gõ lệnh sau:
pip install django
Và bạn sẽ nhận được dưới đây. Tôi nhận được thông báo “đáp ứng các yêu cầu” vì tôi đã cài đặt nó.

Nó đã được cài đặt thành công, nhưng hãy xác nhận điều đó. Trong loại thiết bị đầu cuối django-admin
và nhấn enter.
Bạn nên lấy cái này:

Điều này có nghĩa là nó thực sự đã được cài đặt rồi.
Cách xây dựng dự án của chúng tôi
Vì vậy, hãy bắt đầu với việc xây dựng dự án của chúng tôi. Mở terminal của bạn và gõ lệnh sau:
django-admin startproject myapp
Điều này tạo ra một ứng dụng Django có tên myapp trong thư mục gốc của bạn.
Thay đổi thư mục thành nó bằng cách gõ cd myapp
và gõ vào python manage.py runserver
. Sau đó, bạn sẽ nhận được điều này:

Bây giờ máy chủ đã bắt đầu. Tiếp theo, để kiểm tra nó trong trình duyệt, hãy truy cập 127.0.0.1:8000.

Và bùm! Bạn sẽ thấy rằng Django đã được thiết lập thành công.
Điều tiếp theo chúng ta cần làm là tạo ứng dụng Django. Trong Django, thư mục dự án đóng vai trò là thư mục gốc trong khi ứng dụng đóng vai trò là chính ứng dụng đó.
Để tạo ứng dụng Django, hãy đảm bảo rằng bạn vẫn đang ở trong thư mục, sau đó nhập python manage.py startapp todo
. Điều này tạo ra một ứng dụng Việc cần làm trong dự án myapp của chúng tôi như thế này:

Sau đó, bên trong thư mục việc cần làm, chúng ta sẽ thấy một cái gì đó như thế này:

Chúng tôi sẽ xem xét kỹ hơn các tệp khi chúng tôi bắt đầu làm việc với chúng.
Cách định cấu hình ứng dụng của chúng tôi
Bây giờ, hãy làm cho ứng dụng có thể được phục vụ bởi dự án Django. Trước hết, mở của bạn settings.py
tập tin trong thư mục myapp và thêm 'todo'
đến các ứng dụng đã cài đặt như thế này:

Tiếp theo chúng ta cần mở ra urls.py
và thêm đoạn mã sau vào mã của bạn:
from django.urls import path, include
path('', include('todo.urls'))

Điều thực sự xảy ra là tôi đã thêm include
đến từ django.urls
đường dẫn nhập khẩu. Và bên dưới đường dẫn (admin
) , chúng tôi đã tạo một đường dẫn trống trỏ đến hoặc bao gồm urls.py
tập tin trong thư mục ứng dụng việc cần làm. Tôi hy vọng điều đó rõ ràng.
Tiếp theo, chúng ta cần tạo một tệp mới trong thư mục tệp todo có tên urls.py
và thêm đoạn mã sau vào đó:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name="home")
]

Chúng tôi đã nhập khẩu path
từ Django.urls
và cả nhập khẩu views
từ thư mục gốc. Sau đó, chúng tôi tạo ra của chúng tôi urlpatterns
với phần đầu tiên là liên kết gốc. Như bạn có thể thấy, views.index chỉ có nghĩa là chúng ta đang trỏ các view này tới hàm index trong views.py
tập tin. Bạn sẽ thấy nó hoạt động như thế nào trong nháy mắt.
Hãy tiếp tục với chúng tôi views.py
tập tin và thêm một số mã.
Ở trên cùng, nhập HttpResponse
như thế này:
from django.http import HttpResponse
Và thêm cái này bên dưới nó:
def index(request):
return HttpResponse('Hello')

Như bạn có thể thấy, chúng tôi đã tạo hàm chỉ mục mà chúng tôi đã gọi trong urls.py
và chúng tôi đã chuyển một tham số yêu cầu vào đó. Sau đó, chúng tôi đã trả lại một HttpResponse
.
Nhưng trước khi HttpResponse
có thể hoạt động, chúng tôi phải nhập nó từ django.http import HttpResponse
– đơn giản như ABC. Hãy thử điều này: mở thiết bị đầu cuối của bạn và cd vào myapp và gõ python manage.py runserver
để kiểm tra nó.

Như bạn có thể thấy, nó đã trả về phản hồi. Vì vậy, tiếp theo chúng tôi sẽ tải các tệp HTML mẫu của mình.
Để tải các tệp HTML của chúng tôi, chúng tôi cần tạo một thư mục như thế này trong thư mục việc cần làm theo thứ tự sau:
todo/templates/todo
Trong thư mục việc cần làm, tạo một thư mục có tên là mẫu. Trong thư mục đó, tạo một thư mục có tên todo, đơn giản như vậy.
Sau đó, hãy tiếp tục và tạo một tệp HTML đơn giản có tên là index.html và viết nội dung này vào đó:
<h1>Hello world</h1>
Để tải nó, hãy làm cho bạn views.py
mã trông như thế này:
def index(request):
return render(request, 'todo/index.html')

Bây giờ, thay vì trả về phản hồi, chúng tôi đã trả về chế độ xem kết xuất cho phép chúng tôi hiển thị mẫu HTML của mình ngay bây giờ, hãy lưu phần mở cd đầu cuối này vào myapp và chạy nó. Chúng ta nên có cái này

Như bạn có thể thấy nó hoạt động tốt – chuyển sang bước tiếp theo.
Cách thiết lập tệp tĩnh
Bây giờ để thiết lập các tệp tĩnh, hãy tạo một thư mục mới trong thư mục việc cần làm của bạn và đặt tên là tĩnh. Trong thư mục đó, tạo một thư mục và đặt tên cho nó là todo.
Vì vậy, nó phải như thế này: /static/todo/
.
Trong thư mục todo, tạo một tệp và đặt tên cho nó main.css
. Sau đó, hãy viết một chút phong cách trong đó:
body {
background-color: red;
}
Và lưu nó.
Bây giờ chúng ta hãy chỉnh sửa lại index.html
tập tin bằng cách viết mã này:
{% load static %}
<!Doctype html>
<html>
<head>
<title>My page</title>
<link rel="stylesheet" href="https://www.freecodecamp.org/news/how-to-code-on-your-phone-python-pydroid-android-app-tutorial/{% static"todo/main.css' %}" >
</head>
<body>
Hello
</body>
</html>

Và bây giờ hãy chạy nó:

Nếu bạn đã theo dõi tôi, thì bạn nên có những điều trên.
Cách tải Mô hình và Bảng quản trị
Bây giờ để tải lên bảng quản trị của chúng tôi, chúng tôi cần tạo một siêu người dùng. Việc này rất đơn giản – chỉ cần mở thiết bị đầu cuối của bạn và cd vào thư mục myapp rồi nhập python manage.py createsuperuser
và nhấn enter. Bạn nên xem thứ này:

Chúng tôi gặp lỗi vì chúng tôi chưa chạy python manage.py migrate
chưa. Vì vậy, hãy nhập nó và nhấn enter, và bạn sẽ có một cái gì đó như thế này:

Bây giờ gõ vào python manage.py createsuperuser
và nhấn nhập:

Chỉ cần điền thông tin đăng nhập. Điều tiếp theo chúng ta cần làm là chạy máy chủ của mình và trỏ đến 127.0.0.1:8000/admin.

Đăng nhập và bạn sẽ được chuyển đến bảng điều khiển:

Bây giờ chúng ta đã hoàn thành bảng quản trị, hãy làm việc với mô hình (cơ sở dữ liệu). Chúng tôi sẽ tạo một mô hình thu thập nội dung. Vì vậy, mở của bạn models.py
tệp và nhập mã này:
class Post(models.Model):
content = models.CharField(max_length=255, null=False)
def __str__(self):
return self.content

Chúng tôi tạo một lớp có tham số models.Model
và đưa ra một biến content
giữ một CharField()
, giống như một trường văn bản. Cuối cùng chúng tôi tạo ra một phép thuật str
trả về tên của mô hình thay vì một đối tượng.
Vì vậy, tiếp theo chúng ta cần chạy quá trình di chuyển. Mở thiết bị đầu cuối của bạn, cd vào myapp và gõ python manage.py makemigrations
. Bạn nên xem thứ này:

Điều đó có nghĩa là nó đã tạo bảng Post trong cơ sở dữ liệu của chúng ta. Rồi cũng chạy python manage.py migrate
điều này sẽ dẫn đến kết quả như sau:

Điều này có nghĩa là tất cả đều rõ ràng. Bây giờ để thêm nó vào trang quản trị, hãy mở lên admin.py
và gõ mã này:
from .models import *
admin.site.register(Post)

Chúng tôi đã nhập tất cả các lớp mô hình từ mô hình và đăng ký mô hình bài đăng trong bảng quản trị. Bây giờ nếu chúng ta mở bảng quản trị, chúng ta sẽ thấy bài đăng và lưu một số dữ liệu.

Lưu ý rằng nó hiện có trong danh sách ứng dụng việc cần làm:

Sau khi nhấp vào nó, bạn sẽ thấy điều này:

Sau đó, bạn có thể tạo một bài đăng nếu bạn thích.
Cách kết xuất dữ liệu từ DB sang chế độ xem
Cuối cùng, chúng tôi sẽ lấy dữ liệu của mình từ DB. Để làm như vậy, chúng tôi cần phải cập nhật của chúng tôi views.py
như sau:
from .models import *
def index(request):
content = Post.objects.all()
context = {'content': content}
return render(request, 'todo/index.html', context)

Nó đơn giản như vậy: chúng tôi đã nhập tất cả từ models.py
đã tạo một biến có tên content
và lấy tất cả dữ liệu từ bảng Post. Sau đó, chúng tôi đã chuyển nó dưới dạng từ điển cho chế độ xem của chúng tôi. Vì vậy, trong index.html của chúng tôi để làm cho nó hoạt động, chỉ cần thêm phần này:
{% for contents in content %}
{{content.content}}
{% endfor %}

Ở đây, chúng tôi đã viết một vòng lặp bằng cách sử dụng thẻ mẫu và tìm nạp tất cả nội dung dữ liệu. Bây giờ hãy mở thiết bị đầu cuối của bạn, cd vào myapp và chạy máy chủ để xem điều kỳ diệu xảy ra:

Nó hoạt động, nhưng hãy xác nhận rằng nó hoạt động:

Và kết quả phải như sau:

Violà – nó hoạt động tốt. Cuối cùng, bạn có thể thêm dấu ngắt dòng để có thể đọc rõ hơn. Và chúng tôi đã hoàn tất!
Cảm ơn bạn đã đọc. Nếu bạn muốn xem hướng dẫn chuyên sâu về Django, vui lòng truy cập kênh YouTube Devstack của tôi và đăng ký.