Quickstarters
Feature Overview
How to Build a Backend for Django?
38 นาที
บทนำ ในบทเรียนนี้ คุณจะได้เรียนรู้ วิธีสร้างแบ็กเอนด์สำหรับ django โดยใช้แพลตฟอร์มที่ทรงพลังและขับเคลื่อนด้วย ai ของ back4app django เป็นเว็บเฟรมเวิร์กระดับสูงที่สนับสนุนการพัฒนาแบ็กเอนด์อย่างรวดเร็วและการออกแบบที่สะอาดและมีเหตุผล เราจะสร้างแบ็กเอนด์ที่สามารถปรับขนาดได้และปลอดภัยซึ่งรวมเข้ากับโปรเจกต์ django ของคุณได้อย่างราบรื่น โดยการใช้ back4app คุณสามารถใช้ประโยชน์จากการจัดการฐานข้อมูลอัตโนมัติ, api ที่ทรงพลัง, การจัดเก็บไฟล์, การตรวจสอบสิทธิ์ผู้ใช้, การตรวจสอบข้อมูล, ความสามารถแบบเรียลไทม์, และฟีเจอร์ความปลอดภัยขั้นสูง คุณจะเห็นว่า สภาพแวดล้อมของ back4app สร้างโครงสร้างพื้นฐานเซิร์ฟเวอร์โดยอัตโนมัติ ทำให้คุณสามารถมุ่งเน้นไปที่ตรรกะทางธุรกิจของแอป django ของคุณ วิธีนี้ช่วยลดระยะเวลาในการพัฒนาโดยการขจัดความจำเป็นในการตั้งค่าเซิร์ฟเวอร์และฐานข้อมูลด้วยตนเอง เมื่อสิ้นสุดบทเรียนนี้ คุณจะมีโครงสร้างที่แข็งแกร่งสำหรับแอปพลิเคชันเว็บของคุณซึ่งสามารถขยายด้วยฟีเจอร์ที่ซับซ้อนมากขึ้น การรวมระบบ และตรรกะที่กำหนดเอง ข้อกำหนดเบื้องต้น บัญชี back4app และโครงการ back4app ใหม่ เริ่มต้นใช้งาน back4app https //www back4app com/docs/get started/new parse app หากคุณยังไม่มีบัญชี คุณสามารถสร้างบัญชีได้ฟรี ทำตามคำแนะนำข้างต้นเพื่อเตรียมโครงการของคุณ โครงการ django ที่ตั้งค่าไว้ในเครื่อง ตรวจสอบให้แน่ใจว่าคุณมี สภาพแวดล้อม django หากคุณเริ่มจากศูนย์ ให้ทำตาม เอกสารอย่างเป็นทางการของ django https //docs djangoproject com/en/4 2/intro/install/ ยืนยันว่า installed apps ของโครงการของคุณและโครงสร้าง views and templates พื้นฐานพร้อมแล้ว ติดตั้ง python 3 7+ คุณจะต้องมีสภาพแวดล้อม python ที่ทันสมัยสำหรับแอป django ของคุณ ความคุ้นเคยกับ สถาปัตยกรรม model view ของ django และการดำเนินการ crud พื้นฐาน หากคุณเป็นมือใหม่ใน django หรือจำเป็นต้องทบทวน ให้ตรวจสอบ เอกสารของ django https //docs djangoproject com/en/4 2/ การมีข้อกำหนดเบื้องต้นเหล่านี้จะช่วยให้คุณมีประสบการณ์ที่ราบรื่นมากขึ้นเมื่อคุณทำตามบทแนะนำนี้ ขั้นตอนที่ 1 – การสร้างโครงการใหม่บน back4app และการเชื่อมต่อ ทำไมคุณถึงต้องการโครงการ back4app โครงการใหม่บน back4app เป็นกระดูกสันหลังของการพัฒนาฝั่งหลังของคุณ มันให้คุณสมบัติของ parse server เครื่องมือฐานข้อมูล และอินเทอร์เฟซผู้ดูแลระบบที่ทรงพลัง โครงสร้างส่วนกลางนี้ช่วยให้คุณสามารถลดภาระการจัดการเซิร์ฟเวอร์และมุ่งเน้นไปที่ตรรกะทางธุรกิจของแอป django ของคุณ สร้างโครงการใหม่ เข้าสู่ระบบบัญชี back4app ของคุณ คลิกที่ปุ่ม “new app” ในแดชบอร์ด back4app ของคุณ ตั้งชื่อแอปของคุณ (เช่น “django backend tutorial”) เมื่อสร้างเสร็จแล้ว แอปของคุณจะปรากฏในแดชบอร์ด back4app ของคุณ โครงการใหม่นี้คือที่ที่เราจะเก็บข้อมูล จัดการกฎความปลอดภัย และรันโค้ดฝั่งเซิร์ฟเวอร์สำหรับแอป django ของคุณ การติดตั้ง parse python sdk เพื่อเชื่อมโยงโปรเจกต์ django ของคุณกับ back4app เราจะใช้ parse python sdk ซึ่งช่วยให้คุณจัดการการดำเนินการข้อมูล การตรวจสอบสิทธิ์ผู้ใช้ ฟีเจอร์เรียลไทม์ และอื่นๆ จากภายในโค้ด python ของคุณ ดึง app keys ของคุณ ในแดชบอร์ด back4app ให้ไปที่ app settings หรือ security & keys เพื่อค้นหา application id และ client key (หรือ rest key ) และ parse server url (เช่น https //parseapi back4app com ) ติดตั้ง sdk pip install parse rest เริ่มต้น parse ในโปรเจกต์ django ของคุณ ตัวอย่างเช่น สร้างไฟล์ใหม่ชื่อ parse config py ภายในไดเรกทอรีแอป django หลักของคุณ (โฟลเดอร์เดียวกับที่มี views py หรือ models py ) \# parse config py from parse rest connection import register application id = "your application id" rest api key = "your rest api key" parse server url = "https //parseapi back4app com" \# register your app with parse register(application id, rest api key, master key=none, endpoint=parse server url) ด้วยการตั้งค่านี้ ไฟล์ใด ๆ ในโปรเจกต์ django ของคุณสามารถนำเข้า parse config เพื่อให้แน่ใจว่ามีการเชื่อมต่อกับ back4app backend ของคุณ คุณสามารถสอบถามและบันทึกข้อมูลจากโค้ด django ของคุณโดยใช้ parse python sdk ขั้นตอนที่ 2 – การตั้งค่าฐานข้อมูล 1\ การสร้างโมเดลข้อมูล เช่นเดียวกับที่ django ใช้โมเดลในการจัดเก็บข้อมูลในฐานข้อมูลเชิงสัมพันธ์ parse ใช้คลาสในการจัดเก็บวัตถุ คุณสามารถสร้างคลาสในแดชบอร์ด back4app หรือกำหนดพวกมันแบบทันที ในแดชบอร์ด back4app ไปที่ ฐานข้อมูล คลิก สร้างคลาส ตั้งชื่อ (เช่น “todo”) จากนั้นเพิ่มฟิลด์เช่น title (string) และ iscompleted (boolean) 2\ การใช้ ai agent เพื่อสร้างโมเดลข้อมูลโดยอัตโนมัติ ai agent ของ back4app สามารถช่วยคุณสร้างสคีมาโดยอัตโนมัติ เปิด ai agent ในแดชบอร์ดแอปของคุณ อธิบายโมเดลข้อมูลของคุณ (เช่น “สคีมาแอป todo ที่มี title, iscompleted, และ user pointer ”) ให้ ai agent สร้างมันให้คุณ สิ่งนี้สามารถประหยัดเวลาได้ โดยเฉพาะหากแอป django ของคุณต้องการความสัมพันธ์ที่ซับซ้อนหรือการตรวจสอบข้อมูลขั้นสูง 3\ การอ่านและเขียนข้อมูลโดยใช้ parse sdk ด้านล่างนี้คือตัวอย่างของ การสร้าง และ การค้นหา วัตถุ todo จากภายในโปรเจกต์ django ของคุณ \# views py from parse config import from parse rest datatypes import object class todo(object) pass def create todo item(title, is completed=false) todo = todo(title=title, iscompleted=is completed) todo save() # this performs the crud operation to save data in back4app def get all todos() return todo query all() # retrieves all todo objects from back4app คุณสามารถเรียกใช้ฟังก์ชันเหล่านี้จากมุมมอง django หรือเชลล์ของคุณ การตั้งค่านี้ทำงานร่วมกับตรรกะแอป django ของคุณ ดังนั้นกรอบงานเว็บของคุณจึงยังคงรวมเข้ากับแบ็กเอนด์ parse อย่างสมบูรณ์ 4\ การอ่านและเขียนข้อมูลโดยใช้ rest api หากคุณชอบ rest นี่คือวิธีการ สร้าง วัตถุ todo curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5\ การอ่านและเขียนข้อมูลโดยใช้ graphql api back4app ยังมี graphql อินเทอร์เฟซ ตัวอย่างเช่น mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } สิ่งนี้มีประโยชน์หากคุณต้องการรวมการสอบถาม graphql ในมุมมอง django หรือไมโครเซอร์วิสของคุณเป็นส่วนหนึ่งของสถาปัตยกรรมข้อมูลสมัยใหม่ 6\ การทำงานกับ live queries (ไม่บังคับ) สำหรับการอัปเดตแบบเรียลไทม์ คุณสามารถ เปิดใช้งาน live queries ในแดชบอร์ด back4app ขณะนี้ sdk python ของ parse อย่างเป็นทางการอาจมีการสนับสนุน live query โดยตรงที่จำกัด อย่างไรก็ตาม คุณยังสามารถสมัครสมาชิกการเปลี่ยนแปลงผ่าน websockets หรือวิธีการอื่น ๆ หากจำเป็น ตรวจสอบที่ เอกสาร back4app https //www back4app com/docs สำหรับการอัปเดตล่าสุดเกี่ยวกับ python live queries ขั้นตอนที่ 3 – การใช้ความปลอดภัยด้วย acls และ clps 1\ ภาพรวมสั้น ๆ ใช้ access control lists (acls) และ class level permissions (clps) เพื่อปกป้องข้อมูลของคุณ acls ควบคุมสิทธิ์การอ่าน/เขียนต่อวัตถุ ในขณะที่ clps จะใช้กับทั้งคลาส 2\ ขั้นตอนทีละขั้นตอน การตั้งค่าการอนุญาตระดับคลาส ไปที่ ฐานข้อมูล ใน back4app เลือกคลาส (เช่น todo ) ปรับ การเข้าถึงอ่าน/เขียน หรือกำหนดให้เข้าสู่ระบบ การกำหนดค่า acl ในโค้ด สิ่งนี้ทำให้แน่ใจว่าโปรเจกต์ django ของคุณเคารพกฎความปลอดภัยที่ละเอียดเดียวกันที่ตั้งไว้ใน back4app ขั้นตอนที่ 4 – การเขียนฟังก์ชัน cloud code 1\ ทำไมต้องใช้ cloud code ด้วย cloud code คุณสามารถรัน ตรรกะทางธุรกิจ บนฝั่งเซิร์ฟเวอร์ ตัวอย่างเช่น คุณสามารถทำการตรวจสอบข้อมูล รวมถึง api ภายนอก หรือกระตุ้นเหตุการณ์ก่อนที่จะบันทึกข้อมูล นี่เป็นการเสริมที่ทรงพลังสำหรับมุมมองและเทมเพลต django ของคุณ ช่วยให้คุณรวมตรรกะขั้นสูงไว้ในที่เดียว 2\ ตัวอย่างฟังก์ชัน cloud code มักเขียนด้วย javascript คุณจะนำไปใช้งานที่ back4app และเรียกใช้จากแอป django ของคุณผ่าน parse python sdk หรือ rest requests ฟังก์ชันง่ายๆ // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); 3\ การปรับใช้ ใช้ back4app cli หรือ dashboard ปรับใช้ main js ของคุณด้วยฟังก์ชันคลาวด์ เมื่อปรับใช้แล้ว จะสามารถเข้าถึงได้จากโค้ด django ของคุณผ่าน from parse config import import requests def call calculate text length(text) url = "https //parseapi back4app com/functions/calculatetextlength" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } payload = {"text" text} response = requests post(url, json=payload, headers=headers) return response json() 4\ npm หากคุณต้องการโมดูล node ภายนอกใน cloud code ของคุณ ให้ประกาศใน package json back4app จะติดตั้งโดยอัตโนมัติเมื่อปรับใช้ ขั้นตอนที่ 5 – การกำหนดค่าการตรวจสอบสิทธิ์ 1\ เปิดใช้งานหรือกำหนดค่าการตรวจสอบสิทธิ์ผู้ใช้ โดยค่าเริ่มต้น, parse รวมถึง ผู้ใช้ คลาสสำหรับการลงทะเบียนและการเข้าสู่ระบบ กำหนดค่าการตรวจสอบอีเมล, การรีเซ็ตรหัสผ่าน, และอื่น ๆ ในแดชบอร์ด back4app 2\ ตัวอย่างโค้ด django \# models py or a separate file from parse config import from parse rest user import user def register user(username, password, email) new user = user signup(username, password, email=email) return new user def login user(username, password) return user login(username, password) 3\ การเข้าสู่ระบบผ่านโซเชียล หากคุณต้องการการเข้าสู่ระบบด้วย google, apple, หรือ facebook, ให้กำหนดค่าใน การตั้งค่าการตรวจสอบสิทธิ์ ของ back4app และทำตามคู่มือที่เกี่ยวข้อง แอป django ของคุณสามารถเชื่อมโยงหรือเข้าสู่ระบบผู้ใช้โดยการเรียกใช้วิธีการ parse ที่เกี่ยวข้อง ขั้นตอนที่ 6 – การจัดการการจัดเก็บไฟล์ 1\ การตั้งค่า file storage back4app เก็บไฟล์ที่อัปโหลดผ่าน parse sdk อย่างปลอดภัย คุณสามารถอัปโหลดจาก django โดยการส่งไฟล์ไปยังฟิลด์ parse file from parse rest datatypes import object, file class photo(object) pass def upload image(file path) with open(file path, 'rb') as f parse file = file(file path, f read()) photo = photo(imagefile=parse file) photo save() return photo 2\ ตัวอย่าง หากคุณต้องการเพิ่มภาพที่ผู้ใช้อัปโหลด ให้รวม \<input type="file"> ในเทมเพลต django ของคุณ จากนั้นจัดการไฟล์ในฟังก์ชัน view ที่เรียก upload image() 3\ ข้อพิจารณาด้านความปลอดภัย parse มีการกำหนดค่าที่ควบคุมว่าใครสามารถอัปโหลดไฟล์ได้ { "fileupload" { "enableforpublic" true, "enableforanonymoususer" true, "enableforauthenticateduser" true } } ปรับแต่งสิ่งเหล่านี้ให้ตรงกับความต้องการด้านความปลอดภัยของคุณ โดยมั่นใจว่าเฉพาะผู้ใช้ที่เชื่อถือได้เท่านั้นที่สามารถเก็บและเข้าถึงไฟล์ที่ละเอียดอ่อนได้ ขั้นตอนที่ 7 – การตรวจสอบอีเมลและการรีเซ็ตรหัสผ่าน 1\ ภาพรวม อินเทอร์เฟซ admin interface ของ django จัดการหลายสิ่งหลายอย่าง แต่สำหรับแบ็กเอนด์ที่ใช้ parse คุณยังสามารถเปิดใช้งานการตรวจสอบอีเมลและการรีเซ็ตรหัสผ่านได้ มันสำคัญสำหรับการตรวจสอบผู้ใช้จริงและให้เส้นทางการกู้คืนบัญชีที่ราบรื่น 2\ การกำหนดค่าดashboard เปิดแอป back4app ของคุณ เปิดใช้งานการตรวจสอบอีเมล ใน การตั้งค่าแอป > การตั้งค่าอีเมล ปรับแต่ง เทมเพลตอีเมลให้ตรงกับแบรนด์ของคุณ 3\ โค้ด/การดำเนินการ ในแอป django ของคุณ คุณอาจเสนอแบบฟอร์มรีเซ็ตรหัสผ่าน เมื่อผู้ใช้ขอรีเซ็ต ให้เรียกใช้จุดสิ้นสุดการรีเซ็ตรหัสผ่านของ parse หรือวิธีการ python ที่เหมาะสมหากมีการสนับสนุนใน sdk ขั้นตอนที่ 8 – การกำหนดตารางงานด้วย cloud jobs 1\ cloud jobs ทำอะไร cloud jobs ช่วยให้คุณสามารถรันงานอัตโนมัติ เช่น การทำความสะอาดข้อมูลเก่าหรือการสร้างรายงาน สิ่งนี้เสริมการทำงานของ crontab หรือ celery ของ django โดยการรวมศูนย์งานในสภาพแวดล้อมของ back4app 2\ ตัวอย่าง // main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); หลังจากการปรับใช้ ให้กำหนดตารางใน back4app dashboard ภายใต้ server settings > background jobs เพื่อให้ทำงานทุกวันหรือทุกสัปดาห์ ขั้นตอนที่ 9 – การรวม webhooks 1\ คำจำกัดความ webhooks ช่วยให้คุณส่งคำขอ http ไปยังบริการภายนอกเมื่อเกิดเหตุการณ์บางอย่างในคลาส back4app ของคุณ ตัวอย่างเช่น แจ้งช่อง slack หรือบริการชำระเงินเมื่อมีการสร้างระเบียนใหม่ 2\ การกำหนดค่า ไปที่ more > webhooks ในแดชบอร์ด ตั้งค่าจุดสิ้นสุดภายนอกของคุณ (เช่น url ในโปรเจกต์ django ของคุณ) กำหนดทริกเกอร์ (เช่น “object created” ใน todo ) 3\ ตัวอย่าง เมื่อใดก็ตามที่มีการสร้าง todo ใหม่ คำขอ post จะถูกส่งไปยังจุดสิ้นสุดของแอป django ของคุณ ใน django คุณจะต้องแยกข้อมูล json และจัดการกับมัน (เช่น การบันทึกหรือการประมวลผลเพิ่มเติม) ขั้นตอนที่ 10 – สำรวจแผงผู้ดูแล back4app 1\ จะหามันได้ที่ไหน แอป back4app admin app อยู่ในคอนโซลของคุณภายใต้ more > admin app มันเป็นอินเทอร์เฟซที่มุ่งเน้นโมเดลสำหรับการจัดการข้อมูลของคุณโดยไม่ต้องเขียนโค้ด 2\ ฟีเจอร์ ฐานข้อมูล ดู แก้ไข หรือ ลบระเบียนได้อย่างรวดเร็ว บันทึก ตรวจสอบข้อผิดพลาดหรือบันทึกกระบวนการ งานเบื้องหลัง จัดการตารางงาน cloud jobs ของคุณ การวิเคราะห์ & การแจ้งเตือน หากเกี่ยวข้องกับแอปของคุณ เข้าถึงการแจ้งเตือนแบบพุชและข้อมูลการวิเคราะห์ นี่คล้ายกับ อินเทอร์เฟซผู้ดูแล ของ django แต่เน้นไปที่แบ็กเอนด์ parse บทสรุป โดยการติดตามคู่มือนี้ คุณได้เรียนรู้วิธีการสร้างแบ็กเอนด์สำหรับ django โดยใช้ back4app คุณได้ สร้างโครงสร้างแบ็กเอนด์ที่ปลอดภัยและสามารถขยายได้สำหรับแอป django ของคุณ ตั้งค่าโมเดลข้อมูล ดำเนินการ crud และใช้ฟีเจอร์เรียลไทม์ ดำเนินการ acls, clps และการตรวจสอบสิทธิ์ผู้ใช้เพื่อความปลอดภัยในระดับสูง ใช้ cloud code สำหรับตรรกะทางธุรกิจ การตรวจสอบข้อมูล และการรวมระบบภายนอก จัดเก็บไฟล์ กำหนดเวลางาน cloud และกำหนดค่า webhooks สำหรับการทำงานที่ซับซ้อน สำรวจแอป back4app admin เพื่อจัดการข้อมูลของคุณอย่างมีประสิทธิภาพ ด้วยพื้นฐานนี้ คุณสามารถขยายโปรเจกต์ django ของคุณได้อย่างมั่นใจ รวมฟีเจอร์ขั้นสูง ปรับปรุงประสิทธิภาพ และเพิ่มตรรกะที่กำหนดเองเพื่อจัดการความต้องการในระดับองค์กร ทดลองใช้ parse python sdk ต่อไปเพื่อสร้างแอปพลิเคชันเว็บที่ทรงพลัง ขอให้สนุกกับการเขียนโค้ด! ขั้นตอนถัดไป สร้างแอป django ที่พร้อมสำหรับการผลิต โดยมีการแคชขั้นสูง บทบาทผู้ใช้ และการปรับแต่งประสิทธิภาพ ใช้ฟีเจอร์ back4app ที่มีความก้าวหน้ามากขึ้น เช่น การวิเคราะห์ขั้นสูงหรือการควบคุมการเข้าถึงตามบทบาท เรียนรู้จากเอกสารทางการของ back4app เพื่อความรู้ที่ลึกซึ้งเกี่ยวกับบันทึก คำถามเรียลไทม์ และการปรับแต่งข้อมูล สำรวจบทเรียนอื่นๆ เพื่อดูว่าคุณสามารถรวม “มุมมองและเทมเพลต” ที่ทรงพลังของ django กับ api ภายนอกและ m ได้อย่างไร