弗列斯科網頁程式設計

Flask: Web Development with Python

  1. Course ID: 219165
  2. Course objectives: This course guides you through web applications with Flask, the Python-based microframework. You’ll learn the framework from the ground up by developing, step-by-step, a real-world project. You’ll learn the framework’s core functionality, as well as how to extend applications with advanced web techniques such as database migration and web service communication. In conclusion, as long as you have Python experience, this course shows you how to take advantage of the creative freedom Flask provides.
  3. Time & Place: Tuesday 18:10-21:00, TC-208 [sip:94334492]
  4. Software:
    1. PuTTY 0.73,
    2. Wireshark (64-bit), 學生需有權限可抓取本機封包)
    3. Anaconda3-5.3.1 (64-bit)
    4. EverCam (9.0) 僅需安裝於教師電腦
  5. Teaching approach: Lectures & Hands-On Exercises
  6. Grading Criteria: Homework (30%), Midterm & Final Exams (40%), Term Project (30%)
  7. Textbook: Miguel Grinberg, "Flask Web Development: Developing Web Applications with Python", 2nd Edition, O'Reilly, 2018-03-25. ISBN: 978-1491991732.
  8. References:
    1. Daniel Gaspar and Jack Stouffer, Mastering Flask Web Development : Build enterprise-grade, scalable Python web applications, 2nd Edition, Packt Publishing, 2018-10-31.
    2. Miguel Grinberg, The New and improved Flask Mega-Tutorial, 2018. ISBN:9781977051875
  9. Teaching Assistant tasks: Homework Evaluation, Hands-On Assistance
  10. Remarks: Fundamental background of Python programming will be assumed
  11. 本課程可達成本系教育目標:
    1. 配合國家經濟發展,培養符合資訊產業需求的工程技術人才
  12. 本課程可培養學生之核心能力(Core competency)如下列
    1. 具備程式設計基礎知識並應用於設計及實作資訊軟體的能力
    2. 具備使用英文閱讀資訊領域技術文件及學術論文的能力
    3. 具備團隊合作及獨立執行資訊工程領域學術研究的能力

Syllabus

  1. Introduction
  2. HTML & CSS
  3. Environment Preparation
  4. Basic Application Structure
  5. Templates
  6. Web Forms
  7. Databases
  8. Email
  9. Large Application Structure
  10. User Authentication & User Roles
  11. User Profiles
  12. Blog Posts
  13. Followers
  14. User Comments
  15. Application Programming Interfaces
  16. Testing
  17. Performance
  18. Deployment

Supplementary Videos

  1. What Is SMTP? - GoDaddy

Further Reading

  1. 7 Python Flask Project Ideas for Beginners
  2. Flask Documentation
  3. Rapid API