Tạo mới dự án Django bởi PyCharm

Môi trường phát triển: Python 3.9; PyCharm 2021 Ultimate; Windows 10 pro x64, PostgreSQL 13. Tạo dự án Bấm Shift + F9 để chạy debug. Truy cập http://127.0.0.1:8000/ để xem kết quả. Một web-app đã hoàn thành xong, gồm cả back-end và front-end. Để truy cập trang quản trị, truy cập URL http://127.0.0.1:8000/admin Tuy nhiên,

Môi trường phát triển:

Python 3.9; PyCharm 2021 Ultimate; Windows 10 pro x64, PostgreSQL 13.

Tạo dự án

Bấm Shift + F9 để chạy debug. Truy cập http://127.0.0.1:8000/ để xem kết quả.

Một web-app đã hoàn thành xong, gồm cả back-end và front-end. Để truy cập trang quản trị, truy cập URL http://127.0.0.1:8000/admin

Tuy nhiên, vấn đề là chúng ta không biết username, password là gì. Vậy phải tạo tài khoản admin.
Cài đặt gói

# DATABASES = {#     'default': {#         'ENGINE': 'django.db.backends.sqlite3',#         'NAME': BASE_DIR / 'db.sqlite3',#     }# }

DATABASES ={'default':{'ENGINE':'django.db.backends.postgresql_psycopg2','NAME':'mydjango','USER':'postgres','PASSWORD':'postgres','HOST':'127.0.0.1','PORT':'5432',}}

Mã nguồn đoạn này: https://github.com/donhuvy/mydjango/blob/main/djangoProject/settings.py#L84-L93

Các câu lệnh đã dùng

pip install django psycopg2
python manage.py migrate

python manage.py createsuperuser

Như vậy, với IDE mạnh, các dòng mã nguồn có sẵn, bạn dễ dàng tạo mới một web-app có cả front-end, back-end, có cả bảo mật, phân quyền, và chạy trên một hệ quản trị cơ sở dữ liệu mạnh mẽ là PostgreSQL 13.

Kiểm tra phiên bản Django

Trong trường hợp bạn không dùng IDE, mà tạo mới một project bằng commnad line

Tạo app

Tạo mới app

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

# Create your views here.defindex(request):return HttpResponse("Chào Minh Thu. Bạn đang ở trang chủ của ứng dụng Bình chọn.")

Tạo mới file urls.py

from django.urls import path

from.import views

urlpatterns =[
    path('', views.index, name='index'),]

Vào trong phần cấu hình url của ứng dụng tổng, khai báo thêm url

Kết quả

Tạo model

from django.db import models

# Create your models here.classQuestion(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')classChoice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

Khai báo app bình chọn trong ứng dụng tổng

Chạy lệnh migration dữ liệu, từ model sẽ sinh ra table trong database PostgreSQL

python manage.py makemigrations polls
python manage.py sqlmigrate polls 0001
python manage.py migrate

Thật kỳ diệu

Refresh lại database để xem table đã tự động được tạo ra từ Model trong code Python

(Cảm giác cứ như là Package Manage Console, chạy Migration trong .NET Core 5.x với Entity Framework Core vậy)

Dùng thử ORM của Django xem API query C.R.U.D.S. dữ liệu thế nào

python manage.py shell
from polls.models import Choice, Question

Question.objects.all()

from django.utils import timezone

q = Question(question_text="Có gì mới không Thu?", pub_date=timezone.now())

q.save()

Xem kết quả trong database, thật tuyệt vời, có thể tin được

Update bản ghi

Xem kết quả trong database PostgreSQL đã được cập nhật

Các API query dữ liệu rất mạnh mẽ.

Hiển thị nội dung từ database

Hãy tạo ra thay đổi trong model, cho mỗi model có thêm phương thức in ra nội dung, hãy nhìn diff trong code https://github.com/donhuvy/mydjango/commit/b939c8d27437abb69d264aad126dde0c03152b59?branch=b939c8d27437abb69d264aad126dde0c03152b59&diff=split

Thêm phương thức tìm bản ghi mới tạo: https://github.com/donhuvy/mydjango/commit/b8f433951d9503d7d39f6cb70c99d864278a49f6?branch=b8f433951d9503d7d39f6cb70c99d864278a49f6&diff=split

Bài viết tham khảo phần lớn từ https://docs.djangoproject.com/en/3.2/#first-steps . Mã nguồn: https://github.com/donhuvy/mydjango.git

Nguồn: viblo.asia

Bài viết liên quan

Thay đổi Package Name của Android Studio dể dàng với plugin APR

Nếu bạn đang gặp khó khăn hoặc bế tắc trong việc thay đổi package name trong And

Lỗi không Update Meta_Value Khi thay thế hình ảnh cũ bằng hình ảnh mới trong WordPress

Mã dưới đây hoạt động tốt có 1 lỗi không update được postmeta ” meta_key=

Bài 1 – React Native DevOps các khái niệm và các cài đặt căn bản

Hướng dẫn setup jenkins agent để bắt đầu build mobile bằng jenkins cho devloper an t

Chuyển đổi từ monolith sang microservices qua ví dụ

1. Why microservices? Microservices là kiến trúc hệ thống phần mềm hướng dịch vụ,