เส้นทางและวิว
จัดการคำขอ HTTP
เส้นทางและวิว เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
Flask คืออะไร
Flask เป็นกรอบงานเว็บน้ำหนักเบาสำหรับ Python ช่วยให้คุณสร้างแอปเว็บและ API ได้โดยไม่ต้องเขียนโค้ดประกอบจำนวนมาก ติดตั้งได้ด้วย pip install flask
from flask import Flask
app = Flask(__name__)
print('Flask app created:', app.name)การสร้างแอป
แอป Flask ทุกแอปเริ่มต้นด้วยออบเจ็กต์ app = Flask(__name__) อาร์กิวเมนต์ __name__ ช่วยให้ Flask ค้นหาทรัพยากรต่าง ๆ เช่น แม่แบบได้
from flask import Flask
app = Flask(__name__)
if __name__ == '__main__':
# app.run() starts the development server
print('App is ready to run')เส้นทางแรกของคุณ
เส้นทางจะจับคู่ URL กับฟังก์ชัน ซึ่งเรียกว่า มุมมอง ตัวตกแต่ง @app.route() จะผูกเส้นทางเข้ากับฟังก์ชัน และค่าที่ฟังก์ชันส่งคืนจะกลายเป็นเนื้อหาของการตอบกลับ
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello, world!'
print('Route / -> home')หลายเส้นทาง
กำหนดเส้นทางได้มากเท่าที่ต้องการ แต่ละเส้นทางจะมีฟังก์ชันมุมมองของตัวเอง
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Home page'
@app.route('/about')
def about():
return 'About page'
print('Two routes defined')ส่วนประกอบ URL แบบไดนามิก
ดึงบางส่วนจาก URL ด้วย <variable> แล้ว Flask จะส่งค่านั้นเป็นอาร์กิวเมนต์ให้มุมมอง
from flask import Flask
app = Flask(__name__)
@app.route('/user/<username>')
def show_user(username):
return 'Profile of ' + username
print('URL /user/alice -> show_user')ตัวแปลงชนิดข้อมูล
เพิ่มตัวแปลง เช่น <int:post_id> เพื่อให้ Flask ตรวจสอบและแปลงค่าเป็นชนิดข้อมูลที่ถูกต้อง
from flask import Flask
app = Flask(__name__)
@app.route('/post/<int:post_id>')
def show_post(post_id):
return 'Post number ' + str(post_id)
print('post_id arrives as an int')วิธีการ HTTP
โดยค่าเริ่มต้น เส้นทางจะรองรับ GET หากต้องการรับคำกริยาอื่น ให้ส่ง methods=['GET', 'POST']
from flask import Flask
app = Flask(__name__)
@app.route('/submit', methods=['GET', 'POST'])
def submit():
return 'Handled GET or POST'
print('submit accepts GET and POST')การตรวจสอบวิธีการ
ภายในมุมมอง request.method จะบอกว่ามีการใช้คำกริยาใด ทำให้คุณเลือกทำงานตามเงื่อนไขได้
from flask import Flask, request
app = Flask(__name__)
@app.route('/submit', methods=['GET', 'POST'])
def submit():
if request.method == 'POST':
return 'Form submitted'
return 'Show the form'
print('Branch on request.method')การส่งคืนรหัสสถานะ
ส่งคืนทูเพิลรูปแบบ (body, status_code) เพื่อตั้งค่าสถานะ HTTP เช่น 404 เมื่อไม่พบข้อมูล
from flask import Flask
app = Flask(__name__)
@app.route('/missing')
def missing():
return 'Not here', 404
print('Returns body with status 404')การสร้าง URL
url_for('view_name') สร้าง URL จากชื่อมุมมอง ช่วยหลีกเลี่ยงการเขียนเส้นทางแบบตายตัวซึ่งอาจเปลี่ยนแปลงภายหลัง
from flask import Flask, url_for
app = Flask(__name__)
@app.route('/about')
def about():
return 'About'
# url_for('about') -> '/about'
print('url_for builds URLs by view name')การเรียกใช้เซิร์ฟเวอร์
เรียกใช้ app.run(debug=True) เพื่อเริ่มเซิร์ฟเวอร์สำหรับพัฒนา โหมดแก้ไขข้อผิดพลาดจะโหลดใหม่เมื่อมีการเปลี่ยนแปลง และแสดงหน้าข้อผิดพลาดที่ช่วยวิเคราะห์ปัญหา
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hi'
if __name__ == '__main__':
app.run(debug=True)ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจเรื่องการกำหนดเส้นทางของคุณ
สรุปทบทวน
คุณได้สร้างเส้นทางและมุมมองด้วย Flask
app = Flask(__name__)สร้างแอป@app.route()จับคู่ URL กับฟังก์ชันมุมมอง<int:id>ดึงและแปลงส่วนประกอบแบบไดนามิกของ URLmethods=และrequest.methodใช้จัดการคำกริยา HTTPurl_for()สร้าง URL และapp.run()เริ่มเซิร์ฟเวอร์
คำถามที่พบบ่อย
บทเรียน “เส้นทางและวิว” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เส้นทางและวิว” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เส้นทางและวิว”
จัดการคำขอ HTTP คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “เส้นทางและวิว” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม
ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ