Giới thiệu Django

Django là 1 trong website framework hơi nổi tiếng được viết trọn vẹn bằng ngôn ngữ Pybé nhỏ.

Bạn đang xem: Django là gì

Nó là 1 framework cùng với đầu đầy đủ các thư viện, module cung ứng các web-developer. Django thực hiện mô hình MVC cùng được cách tân và phát triển vị Django Software Foundation (DSF một tổ chức phi lợi tức đầu tư độc lập)Mục tiêu chủ yếu của Django là đơn giản hóa việc chế tạo ra những website tinh vi gồm áp dụng cửa hàng tài liệu. Django triệu tập vào bản lĩnh “có thể tái sử dụng” với “hoàn toàn có thể trường đoản cú chạy” của những component, công dụng cách tân và phát triển nkhô hanh, không làm lại hầu hết gì vẫn có tác dụng. Một số trang web phổ biến được kiến thiết từ Django là Pinterest, Instagram, Mozilla, cùng Bitbucket.

Cài đặt DjangoBắt đầu với Django

Project

Tạo ProjectDjango hỗ trợ 1 câu lệnh nhằm render ra 1 template cùng 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 đặt code vào /var/www Django vẫn trách nát đặt code nghỉ ngơi những folder root.Dùng sublime để msống project vẫn tạo ra với thuộc xem cấu trúc:
*
Chúng ta thấy thư mục bên cạnh demo_django không liên quan gì tới code nên bạn có thể biến hóa tùy ýdemo_django/__init__.py là 1 file trống rỗng chỉ định câu hỏi dòng đường truyền folder này sẽ tiến hành xem nlỗi là 1 trong những Pyeo hẹp package.demo_django/settings.py là file cất những settings của projectDEBUG: DEBUG = True bật/tăt chính sách debugALLOWED_HOSTS:ALLOWED_HOSTS = <> nếu báo lỗi tương quan đến ALLOWED_HOSTS thì thêm liên can vào list này.INSTALLED_APPS: 1 project rất có thể có tương đối nhiều phầm mềm, còn 1 app có thể trực thuộc các project. khi bản thân thêm một tiện ích bắt đầu thì cần cập nhật danh sách này.

Xem thêm:

Đơn giản là nó cất tất cả những phầm mềm hoàn toàn có thể dử dụng thanfhg instance của Django

django.contrib.admin – Site admindjango.contrib.auth – An authentication system. Hệ thống authenticationdjango.contrib.contenttypes – Hệ thống content typesdjango.contrib.sessions – Hệ thống sessiondjango.contrib.messages – Hệ thống messagedjango.contrib.staticfiles – Hệ thống thống trị những tệp tin staticDATABASES: đặt tả Database ước ao sử dụng : SQLite(default), Postgres, Mysql,...demo_django/urls.py là file knhị báo các URL của project (hình dáng nhỏng routing, cùng với cửa hàng như thế nào thì sẽ thực thi 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 hệ thống trên local

App

Tạo Appcấu trúc của app
*
Thêm ứng dụng vào trong demo_django/settings.pyINSTALLED_APPS = < ..... `book`, >Tạo ModelDjango hỗ trợ ORM (object relational mapping) nói một cách dễ nắm bắt, là một trong những class phía đối tượng sẽ tiến hành maps thành 1 bảng trong database, 1 object / instance (thực thể của 1 class) sẽ được map thành 1 record (1 dòng) của bảng trong database.Trong Book application ra xây cất đơn giản dễ dàng :Category Model gồm field name,

Book Model bao gồm 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 vấn đề knhì báo nhỏng bên trên Django sẽ khởi tạo 1 schema DB mang lại app với chế tạo ra API Pyeo hẹp để truy cập Category với Book"Note: Bạn thấy hàm __str__() được knhị báo trong class nó giống như như method toString trong Java cùng với object. Tại phía trên chúng ta cũng có thể override nó trong class nghỉ ngơi Pybé nhỏ giúp bạn hiển thị friendly name vào object. Mình đang nói cụ thể tại vị trí Shell Python thả ở dướiNếu không3, Làm quen thuộc cùng với migrateTạo migration cùng với câu lệnh python thả manage.py makemigrations bookMigrations for "book":0001_initial.py: - Create Mã Sản Phẩm Category - Create model Book - Add field category to bookBằng câu hỏi chạy makemigrations, Django đã hiểu là ai đang tạo ra 1 sự đổi khác mang đến Model (vào ngôi trường này nhiều người đang create new) với sự chuyển đổi này sẽ tiến hành giữ như một migration.sau khoản thời gian chạy kết thúc sẽ tạo nên ra tệp tin book/migrations/0001_initial.pyNếu ra sửa đổi cấu trức của database thì lần makemigrations sẽ tạo nên ra tệp tin dạng 0002_......pyKiểm tra câu lệnh mysql, quản lý db schema hoặc dễ nắm bắt hơn là phần prefix của file: 0001_initial.pypyeo hẹp 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 TO "book_book";CREATE INDEX "book_book_2d5f8f90" ON "book_book" ("category_id");COMMITTại đây hoàn toàn có thể đang check format output , tên table, primary key,... coi đã đúng mực chưa.Nếu tất cả đã ok bạn cũng có thể merge vào migrate để tạo table vào data basepybé manage.py migrateCơ chế hoạt động của migrate là sẽ rước tất cả đều migration không được apply cùng chạy lại vào db đảm bảo an toàn tài liệu trong db không trở nên xóa.Tóm lại :makemigrations : tạo ra migrations mang đến các nạm đổisqlmigrate: kiểm tra sql trước lúc applymigrate: apply vào phần nhiều biến hóa vào dbNote: quý khách rất có thể sử dụng 1 câu lệnh nhất pynhỏ manage.py makemigrations &và pykhiêm tốn manage.py migrate

Shell Python

Như rails tất cả rails c thì nhằm truy cập vào shell pynhỏ nhắn họ chạy lệnh comm& pybé nhỏ manage.py shell

Import mọi class mà lại bản thân bắt đầu 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ỏng đang nói ở chỗ chế tác model về hàm __str__()Category.objects.all()Lúc áp dụng hiệu quả trả ra là : <>Khi ko sử dụng công dụng trả ra là: <>FilterCategory.objects.filter(id=1)Category.objects.filter(name="Romatic")Book.objects.filter(category__name="Romatic")Thao tác với foreign keyc = Category.objects.get(pk=1)Note: Các chúng ta cũng có thể chế tạo ra Book theo cách t2:b = c.book_set.create(name="ABC", price="123", author_name="Minh")tự Book truy vấn tới Categoryb.category , b.category.nametự Category truy vấn cho tới Bookc.book_mix.all(), c.book_phối.all()<0>.name, c.book_phối.all().count,....Xóa recordb.delete()Kết

Mới tò mò về Pyhẹp yêu cầu mình cũng chỉ chỉ dẫn được mọi kỹ năng và kiến thức cơ bạn dạng nhất bao 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