Django Python Là Gì

  -  
Giới thiệu Django

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 Django

Project

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:
*
Chúng ta thấy folder ngoài demo_django không tương quan gì tới code nên bạn có thể thay đổi tùy ýdemo_django/__init__.py là một file rỗng chỉ định câu hỏi cái con đường dẫn folder này sẽ được xem như là 1 trong những Python package.demo_django/settings.py là tệp tin chứa các settings của projectDEBUG: DEBUG = True bật/tăt chế độ debugALLOWED_HOSTS:ALLOWED_HOSTS = <> nếu báo lỗi tương quan đến ALLOWED_HOSTS thì thêm showroom vào danh sách này.INSTALLED_APPS: 1 project có thể có rất nhiều app, còn 1 app có thể thuộc các project. Lúc mình thêm một app new thì cần cập nhật danh sách này.


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
*
Thêm phầm mềm vào trong demo_django/settings.pyINSTALLED_APPS = < ..... `book`, >Tạo ModelDjango cung ứng ORM (object relational mapping) nói một cách dễ hiểu, là 1 trong những class hướng đối tượng người tiêu dùng sẽ được map thành 1 bảng trong database, 1 object / instance (thực thể của một class) vẫn được map thành 1 record (1 dòng) của bảng trong database.Trong Book application ra thiết kế dễ dàng :Category mã sản phẩm có field name,

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 shell

Import đ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ết

Mớ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