Django Python Là Gì
Django là một web framework khá danh tiếng được viết trọn vẹn bằng ngôn ngữ Python. Nó là 1 framework cùng với đầu đủ những thư viện, module cung cấp các web-developer. Django sử dụng mô hình MVC cùng được cải tiến và phát triển bởi Django Software Foundation (DSF một đội nhóm chức phi lợi tức đầu tư độc lập)Mục tiêu thiết yếu của Django là đơn giản và dễ dàng hóa vấn đề tạo các website tinh vi có áp dụng cơ sở dữ liệu. Django tập trung vào chức năng “có thể tái sử dụng” và “có thể tự chạy” của các component, tính năng cải tiến và phát triển nhanh, không làm cho lại phần nhiều gì sẽ làm. Một trong những website phổ cập được desgin từ Django là Pinterest, Instagram, Mozilla, và Bitbucket.
Cài để DjangoBắt đầu với DjangoProject
Tạo ProjectDjango hỗ trợ 1 câu lệnh nhằm render ra 1 template với cấu tạo hoàn chỉnh django-admin startproject demo_djangonote: không đặt têt project là "django" với "test" và không để code trong /var/www Django vẫn trách để code ngơi nghỉ các folder root.Dùng sublime để mở project đã tạo ra và cùng xem cấu trúc:
Bạn đang xem: Django python là gì
Xem thêm: Takeover And Merger Là Gì, Nghĩa Của Từ Merger, Takeover And Merger Là Gì
Xem thêm: Xrd Là Gì - Quang Phổ Nhiễu Xạ Tia X (Xrd) Và Ứng Dụng
Đơn giản là nó chứa tất cả các app hoàn toàn có thể dử dụng thanfhg instance của Django
django.contrib.admin – Site admindjango.contrib.auth – An authentication system. Khối hệ thống authenticationdjango.contrib.contenttypes – Hệ thống content typesdjango.contrib.sessions – khối hệ thống sessiondjango.contrib.messages – hệ thống messagedjango.contrib.staticfiles – Hệ thống cai quản các tệp tin staticDATABASES: đặt tả Database muốn dùng : SQLite(default), Postgres, Mysql,...demo_django/urls.py là file khai báo các URL của project (kiểu như routing, với add nào thì sẽ triển khai hàm nào)demo_django/wsgi.py là file dùng deploy project lên servermanage.py là tệp tin để chế tác app, migrate,...chạy server trên local
App
Tạo Appcấu trúc của app
Book mã sản phẩm có field name, price, category, author_name
from django.db import models # Create your models here.class Category(models.Model): name = models.CharField(max_length=200) def __str__(self): return self.nameclass Book(models.Model): name = models.CharField(max_length=200) price = models.IntegerField(default=0) category = models.ForeignKey(Category, on_delete=models.CASCADE) author_name = models.CharField(max_length=200) def __str__(self): return self.nameVới việc khai báo như bên trên Django sẽ tạo nên 1 schema DB cho app và sản xuất API Python để truy vấn Category cùng Book"Note: các bạn thấy hàm __str__() được khai báo vào class nó tương tự như method toString vào Java với object. Ở đây bạn có thể override nó vào class làm việc Python giúp bạn hiển thị friendly name vào object. Mình đã nói ví dụ ở phần Shell Python sinh sống dướiNếu không3, có tác dụng quen với migrateTạo migration với câu lệnh python manage.py makemigrations bookMigrations for "book":0001_initial.py: - Create model Category - Create model Book - địa chỉ cửa hàng field category khổng lồ bookBằng vấn đề chạy makemigrations, Django sẽ hiểu là ai đang tạo 1 sự biến hóa đến mã sản phẩm (trong trường này ai đang create new) và sự biến đổi này sẽ được lưu như 1 migration.sau khi chạy dứt sẽ tạo thành file book/migrations/0001_initial.pyNếu ra sửa đổi cấu trức của database thì lần makemigrations sẽ tạo ra tệp tin dạng 0002_......pyKiểm tra câu lệnh mysql, thống trị db schema hoặc dễ hiểu hơn là phần prefix của file: 0001_initial.pypython manage.py sqlmigrate book 0001BEGIN;CREATE TABLE "book_book" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(200) NOT NULL, "price" integer NOT NULL, "author_name" varchar(200) NOT NULL);CREATE TABLE "book_category" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(200) NOT NULL);CREATE TABLE "book_book__new" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(200) NOT NULL, "price" integer NOT NULL, "author_name" varchar(200) NOT NULL, "category_id" integer NOT NULL REFERENCES "book_category" ("id"));INSERT INTO "book_book__new" ("category_id", "price", "id", "author_name", "name") SELECT NULL, "price", "id", "author_name", "name" FROM "book_book";DROP TABLE "book_book";ALTER TABLE "book_book__new" RENAME khổng lồ "book_book";CREATE INDEX "book_book_2d5f8f90" ON "book_book" ("category_id");COMMITỞ đây rất có thể sẽ check format output đầu ra , tên table, primary key,... Coi đã đúng chuẩn chưa.Nếu tất cả đã ok chúng ta có thể merge vào migrate để tạo ra table vào data basepython manage.py migrateCơ chế hoạt động của migrate là vẫn lấy tất cả những migration chưa đc apply cùng chạy lại vào db bảo đảm an toàn dữ liệu trong db không bị xóa.Kết luận :makemigrations : tạo nên migrations cho hồ hết thay đổisqlmigrate: kiểm tra sql trước lúc applymigrate: apply vào những biến đổi vào dbNote: bạn cũng có thể sử dụng 1 câu lệnh duy nhất python manage.py makemigrations && python manage.py migrate
Shell Python
Như rails gồm rails c thì để truy cập vào shell python chúng ta chạy lệnh command python manage.py shellImport đa số class mà lại mình mới khai báofrom book.models import Book, CategoryHiển thị toàn bộ số record trong tableCategory.objects.all()tạo record mớic= Category(name="Romatic")c.save()b = Book(category_id=1, name="ABC", price="123", author_name="Minh")b.saveNhư đã nói ở trong phần tạo mã sản phẩm về hàm __str__()Category.objects.all()Khi sử dụng tác dụng trả ra là : <>Khi không sử dụng tác dụng trả ra là: <>FilterCategory.objects.filter(id=1)Category.objects.filter(name="Romatic")Book.objects.filter(category__name="Romatic")Thao tác cùng với foreign keyc = Category.objects.get(pk=1)Note: Các chúng ta có thể tạo Book theo phong cách t2:b = c.book_set.create(name="ABC", price="123", author_name="Minh")từ Book truy cập tới Categoryb.category , b.category.nametừ Category truy cập tới Bookc.book_set.all(), c.book_set.all()<0>.name, c.book_set.all().count,....Xóa recordb.delete()KếtMới tò mò về Python nên tôi cũng chỉ giới thiệu được những kiến thức và kỹ năng cơ bản nhất gồm tronghttps://docs.djangoproject.com/en/1.7/intro/tutorial01/https://www.djangoproject.com/start/https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-14-04