Django là gì? các lý do nên sử dụng django trong python để lập trình web

Giới thiệu Django

Django là một website framework hơi danh tiếng được viết trọn vẹn bởi ngữ điệu Pyeo hẹp.

Bạn đang xem: Django là gì? các lý do nên sử dụng django trong python để lập trình web

Nó là 1 trong framework với đầu đủ những tlỗi viện, module hỗ trợ những web-developer. Django áp dụng quy mô MVC và được cải cách và phát triển vì chưng Django Software Foundation (DSF một nhóm chức phi ROI độc lập)Mục tiêu chính của Django là dễ dàng và đơn giản hóa Việc sinh sản những website phức tạp có áp dụng các đại lý tài liệu. Django triệu tập vào kỹ năng “có thể tái sử dụng” với “rất có thể tự chạy” của những component, công dụng trở nên tân tiến nkhô giòn, ko làm lại hồ hết gì sẽ làm. Một số website phổ biến được tạo ra tự Django là Pinterest, Instagram, Mozilla, và Bitbucket.

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

Project

Tạo ProjectDjango hỗ trợ 1 câu lệnh để render ra 1 template với cấu tạo hoàn hảo django-admin startproject demo_djangonote: không đặt têt project là "django" và "test" với ko đặt code trong /var/www Django đang trách rưới đặt code sinh hoạt những folder root.Dùng sublime nhằm mnghỉ ngơi project đang tạo với thuộc xem cấu trúc:
*
Chúng ta thấy thư mục kế bên demo_django không tương quan gì cho tới code yêu cầu bạn có thể biến hóa tùy ýdemo_django/__init__.py là một trong file trống rỗng chỉ định và hướng dẫn câu hỏi chiếc đường dẫn folder này sẽ tiến hành coi nhỏng là 1 Python thả package.demo_django/settings.py là tệp tin đựng các settings của projectDEBUG: DEBUG = True bật/tăt chính sách debugALLOWED_HOSTS:ALLOWED_HOSTS = <> ví như báo lỗi tương quan đến ALLOWED_HOSTS thì thêm tác động 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 phầm mềm hoàn toàn có thể thuộc nhiều project. Khi bản thân thêm 1 app mới thì cần cập nhật danh sách này.

Xem thêm: Hướng Dẫn Sử Dụng Ultraviewer Để Điều Khiển Máy Tính Từ Xa, Ultraviewer

Đơn giản là nó đựng tất cả những app rất 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 cai quản những tệp tin staticDATABASES: đặt tả Database ước ao cần sử dụng : SQLite(default), Postgres, Mysql,...demo_django/urls.py là file khai báo các URL của project (loại như routing, cùng với liên can như thế nào thì vẫn thực hiện hàm nào)demo_django/wsgi.py là file dùng deploy project lên servermanage.py là file để tạo nên phầm mềm, migrate,...chạy VPS bên trên local

App

Tạo Appkết cấu 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ễ dàng nắm bắt, là một class hướng đối tượng người sử dụng sẽ được map thành 1 bảng vào 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 :Category mã sản phẩm có field name,

Book mã sản phẩm 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 bài toán khai báo nlỗi trên Django sẽ tạo 1 schema DB đến app với tạo API Pykhông lớn nhằm truy vấn Category với Book"Note: Quý Khách thấy hàm __str__() được khai báo vào class nó tựa như như method toString trong Java cùng với object. Ở phía trên chúng ta có thể override nó trong class sinh hoạt Pybé nhỏ giúp đỡ bạn hiển thị friendly name vào object. Mình đã nói rõ ràng ở phần Shell Pykhiêm tốn làm việc dướiNếu không3, Làm thân quen cùng với migrateTạo migration 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 Mã Sản Phẩm Book - Add field category to bookBằng bài toán chạy makemigrations, Django đang đọc là ai đang sinh sản 1 sự đổi khác cho Model (trong ngôi trường này bạn đang create new) cùng sự đổi khác này sẽ được lưu lại như một migration.sau khoản thời gian chạy kết thúc sẽ tạo ra file book/migrations/0001_initial.pyNếu ra chỉnh sửa cấu trức của database thì lần makemigrations sẽ khởi tạo ra file dạng 0002_......pyKiểm tra câu lệnh mysql, quản lý db schema hoặc dễ hiểu rộng là phần prefix của file: 0001_initial.pypynhỏ bé 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";DROPhường TABLE "book_book";ALTER TABLE "book_book__new" RENAME TO "book_book";CREATE INDEX "book_book_2d5f8f90" ON "book_book" ("category_id");COMMITTại phía trên rất có thể đã kiểm tra format output , tên table, primary key,... xem đang đúng mực chưa.Nếu tất cả sẽ ok chúng ta cũng có thể merge vào migrate nhằm chế tác table vào data basepynhỏ bé manage.py migrateCơ chế buổi giao lưu của migrate là đang lấy toàn bộ phần lớn migration không đc apply cùng chạy lại trong db bảo đảm an toàn tài liệu vào db không biến thành xóa.Kết luận :makemigrations : tạo ra migrations mang lại các cố kỉnh đổisqlmigrate: check sql trước khi applymigrate: apply vào những chuyển đổi vào dbNote: Quý khách hàng hoàn toàn có thể áp dụng 1 câu lệnh độc nhất pynhỏ manage.py makemigrations && pybé nhỏ manage.py migrate

Shell Python

Như rails tất cả rails c thì để truy vấn vào shell python bọn họ chạy lệnh commvà pykhông lớn manage.py shell

Import phần đông class mà lại mình bắt đầu knhì báofrom book.models import Book, CategoryHiển thị tất cả số record vào 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 vẫn nói ở phần sản xuất model về hàm __str__()Category.objects.all()Lúc thực hiện tác dụng trả ra là : <>lúc ko thực hiện hiệu quả 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 bạn cũng có thể tạo Book theo cách t2:b = c.book_phối.create(name="ABC", price="123", author_name="Minh")tự Book truy cập cho tới Categoryb.category , b.category.nametrường đoản cú Category truy vấn tới Bookc.book_set.all(), c.book_mix.all()<0>.name, c.book_phối.all().count,....Xóa recordb.delete()Kết

Mới tìm hiểu về Pybé nhỏ bắt buộc mình cũng chỉ giới thiệu được những kỹ năng cơ bạn dạng độc nhất có 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

Leave a Reply

Your email address will not be published. Required fields are marked *