Introduction to Python Django: Starting with Django's Design Philosophy

Get a proper start in Django web development through a deep understanding of essential Python syntax and Django's design philosophy.

(4.7) 80 reviews

1,620 learners

Level Basic

Course period Unlimited

Django
Django
Python
Python
Django
Django
Python
Python
Thumbnail

Reviews from Early Learners

Reviews from Early Learners

4.7

5.0

일코

100% enrolled

I am a beginner in non-major web development. I am at a basic level of handling Django while making landing pages as a side job. I am just now leaving a rating with excitement and excitement. Each chapter is filled with valuable development tips as well as Django philosophy. (The word "honey" feels too trivial, so I gave up trying to find a better metaphorㅜ) I was excitedly going through each chapter, taking notes and applying them to my projects little by little, but when the model part suddenly said it was the last lecture, I was actually a little disappointed. ( I want to hear more stories. But from here on, I guess I have to learn on my own..) I think there might be people who are considering taking the course who read this, so I will list some of the advantages of this course. The most common one is "Follow and complete a small project" Rather than a method (of course, there is practice), I think it is a lecture that gives you some thoughts and stories on how to supplement or solve some problems you have encountered or will definitely encounter during development. (In a good way, it feels like <Lee Jin-seok's version of Tuscoop Django>) In that context, it seems that there will be some parts that feel vague for those who are completely new to web development. It is not a lecture that focuses on finishing a project that is visible one by one. If you are completely new to web development or the Django framework, I recommend that you study the basics first with a few other tutorials, like the Django official homepage tutorial or the Django Girls tutorial? And then if you take this class again, I think you will definitely feel different. Your satisfaction will also increase. People call it the Dunning-Kruger effect, right? After I tried coding several examples from free tutorials or books on the market (I guess it's just polls, blogs, and clone codingㅜ), I felt confident as if I were a Django expert, but when I listened to advanced Django books or Jinseok's lectures, it felt like my metacognition was suddenly activated and my humility that had run away was returning to its place. I'm a long-time fan of Jinseok's, so I might be biased, but in summary, I think it's a really good lecture that gives a lot of things to worry about and study. Have a nice day!

5.0

stock Man

100% enrolled

I am learning a really good lecture from a great teacher. I think it is a more theoretical and practical lecture than the classes at my alma mater, Seoul National University. I am always grateful for the quick answers to basic questions. The introductory lecture is almost over and I have paid for the basic lecture, so I plan to pay for the next class and take it.

5.0

사공석준

100% enrolled

Thank you for such a great lecture! I look forward to other lectures.

What you will gain after the course

  • Essential Python Syntax for Django Development

  • Clear Python/Django Development Environment Setup on Windows/Mac

  • A deep understanding of Django's design philosophy

Enjoy Django the right way
by understanding the Django philosophy 💪

🚀 Starting from Friday, November 29, 2024, this course has been switched to free. Through this transition, we hope that Django can be spread to even more people.

Take the course and get a PyCharm Professional coupon! 🎫

We have received sponsorship from JetBrains for 6-month redeem codes so that you can use PyCharm Professional (a paid tool), the optimal IDE for Django development, for 6 months. After completing the course, please fill out the application form at the application link.

  1. Coupon applications are limited to once per person.
  2. During the course, we will proceed with a 1-month trial license for PyCharm Professional.
  3. 본 강의를 완강하신 분에 한해서 신청 가능합니다.
    1. Application Link: https://forms.gle/mvDwLQmaCz4Z2vQD9
  4. 신청서 확인에는 2~3일 정도 소요됩니다. 확인되는 대로 신청하신 이메일 주소로 쿠폰을 보내드리겠습니다.
    1. Please register the received coupon immediately. If you do not register it, you will no longer be able to receive license support from JetBrains.
  5. Tip: After using this coupon, if you continue with a paid JetBrains subscription on the same account, you can subscribe at a discounted price.

Note) If you are a student or teacher, you can receive a one-year license for all JetBrains tools through JetBrains' Student Support Program. If you apply for this program, you can receive your license within a few days.

A Django course for beginners who want to get started the right way 🔥

This is a theory-oriented introductory lecture that provides in-depth explanations of Django's design philosophy along with the necessary syntax. While there is an existing <The Complete Guide to Python/Django Web Service Development with React> course, its large volume can be overwhelming for beginners, so I created this course specifically for introductory purposes. It is composed of introductory content not covered in the previous lecture.

However, it may be difficult for those who are new to web development. For beginners, I recommend first studying Life Coding's <Python Django Web Framework> YouTube course.

Essential Python Syntax
for Django Development

The Django web framework is one massive chunk of code. To utilize it effectively, an understanding of 'essential Python syntax' is indispensable. However, if you only have a superficial knowledge of Python syntax, you will find it difficult to read and modify the various Django code examples encountered during practice. Through the essential Python syntax covered in this lecture, shake off your fear of Django code.

Django's design philosophy, a
deep understanding

For a Korean to speak American English fluently, an understanding and respect for American culture are necessary. Using a framework must also begin with clearly understanding and respecting its philosophy. Otherwise, you will find yourself reinventing the wheel instead of properly utilizing the wheel that is the framework.

Life is short. Save your time by clearly understanding and utilizing Python and Django.


Recommended for these people 🙋‍♀️

Those who want to start learning web app development after learning basic Python syntax

Those who lack an understanding of the basic syntax required to learn Django

Those who want to understand Django more deeply through Django's design philosophy

Those who want to freely read and utilize application code implemented with Django


Course Features ✨

A course for web beginners that you can start with just a basic knowledge of Python syntax

Grammar necessary for understanding each Django feature, along with
real-world examples!!

Deepen your understanding of Django's design philosophy with a 14-year veteran Django developer!

Korean subtitles for all lectures
Understand the lecture content quickly!


What you will learn 📚

1. Setting up the development environment

We will guide you through setting up a modern development environment for Windows and Mac.

  • Instead of manually installing necessary programs one by one, you can install them all at once from the command line using a package manager (Windows: scoop, Mac: homebrew).
  • Installing and managing multiple versions of Python on a PC is difficult. However, through pyenv, you can easily use different Python versions/interpreters for each project.
  • There is no doubt that Visual Studio Code is the most popular editor in the world. However, that is not the case for Django development. We will install and guide you through PyCharm Professional, the best IDE for Django development.

2. Django Core Design Philosophy Overall

This chapter covers the 'General' section of Django's design philosophy. There is a perception that Django is slow and difficult to learn because of its large size. One of Django's design philosophies is 'Loose Coupling.' Django simply provides many features out of the box. On the other hand, many people vaguely assume that Flask is fast, but that is because it has fewer features as a Micro Framework. Application performance is not determined by the language or framework. It depends on the developer.


 

3. Client Request Processing and URL Mapping

Let's take a look at Django's design philosophy regarding <Views> and <URL Design>.

  • Python syntax covered: functions, positional/keyword arguments, default arguments, closures, first-class functions/classes, type hinting
  • Django implements views as functions (Callable Objects), which simplifies the view implementation. We will also compare this with request handling in Spring.
  • Practice: We will implement a post list page and a post detail page.


 

4. Template System

We will complete the email subject and content using the Django template system and practice sending emails via SMTP.

  • How to efficiently compose email message strings using the Django template system
  • How to configure SMTP (Simple Mail Transfer Protocol) settings in Naver Mail
  • Sending SMTP emails using the Django 'Custom Management Command' system


 

5. Decorators and Views

We will look into the necessity of the decorator syntax, which is actively used in Django, and explore how to create decorators.

  • We will take a deep look at decorators as a way to implement AOP (Aspect Oriented Programming) in Python.
  • Introduction to Decorators in Django: cache_page (caching view responses), login_required (redirecting to the login page if not logged in), transaction.atomic (DB transactions), user_passes_test (checking user permissions with custom rules), permission_required (checking user permissions)
  • Practice: We will use the login_required decorator to easily check whether a user is logged in when accessing a specific page.


 

6. Database Processing Using Django Models

We will examine the Django design philosophy regarding <Models> and explore <Django Models> as a supported ORM (Object Relational Mapping) technology.

  • Django models use class syntax. We will examine the differences between class variables and instance variables, which are often confusing in Python class syntax, as well as the Descriptor syntax used when defining Django model fields.
  • We will briefly look at the process of defining model classes and how database tables are created and managed through the migration feature.


 

7. Database API

We will examine the Django design philosophy regarding the <Database API>.

  • Concise and powerful syntax: It should be possible to create rich, expressive queries with as little syntax as possible.
  • SQL Efficiency: Provides a way to query 'related objects' together with high performance.
  • It should be easy to write SQL statements when necessary: SQL queries can be executed without the intervention of a model.


 


Expected Questions Q&A 💬

Q. Why is it good to learn Django?

Django is a Python full-stack web framework. If you understand the Django framework correctly, you can develop web services much faster. "Time" is the greatest cost. Life is short. Save your time through Django and focus on your business.

Q. Are there any environments or other precautions I should have in place before taking the course?

All you need is a Windows or Mac computer with internet access. Detailed instructions on setting up the development environment will be provided in this course.

Q. What can I do once I master the content of this course?

This course focuses on understanding the core philosophy of the framework. Therefore, it does not cover detailed Django features. After taking this course, you will no longer have any fear of setting up a Python/Django development environment and will have a correct understanding of Django's philosophy. In terms of implementation, you will be able to create a Django project, create models, and build simple list/detail pages for those models.

Q. How can I learn more about Django in detail?

You can take the <Complete Guide to Python/Django Web Service Development with React> course that I have released on Inflearn.


About the Instructor ✒️

I am Jinseok Lee, a software developer who is passionate about Python and Django.

  • Python holic, developer with 12 years of experience in Django practice
  • Operator of the Django Q&A community Ask Company with Django/React (formerly Ask Django)
  • Operator of Ask Company, a Python/Django education service
  • Daejeon <Python Sarangbang> Operator
  • Awarded Microsoft Azure MVP (2016~2021, What is a Microsoft MVP?)
  • Seoul National University, Combined Major in Venture Management, Python/Django Instructor for "Web Programming for Venture Startups" (2016/2017)
  • Fastcampus, Web Service Development Camp (Python/Django) 3rd Class Instructor, 2nd Class Assistant (2015)
  • Lectures and consulting for numerous universities and corporations: Seoul National University, KAIST, Pusan National University, Hanyang University, Kookmin University, Samsung Electronics, LG Electronics, LS Group, SK Planet, Encore, KB Securities, SK Telink, Hyundai Motor Group Innocean, Koscom, Naver NIT Service, Art Center Nabi, Bank of Korea, Korea Evaluation Institute of Industrial Technology, etc.

YouTube Video

Django Live Coding Show (50 min. YouTube St.) Through this video, I demonstrate the power of Django web development through live coding.

I will be your Python/Django/React pacemaker 🏃‍♀️🏃‍♂️🏃.

Recommended for
these people

Who is this course right for?

  • Those who are starting Python web service development for the first time

  • Those who want to master essential Python syntax for Django development

  • For those who want to quickly understand Django's design philosophy

Need to know before starting?

  • Basic syntax of Python, including control structures, functions, classes, inheritance, and modules.

Hello
This is pyhub

3,152

Learners

154

Reviews

934

Answers

4.8

Rating

5

Courses

Software developer passionate about Python and Django

  • Python/Django Q&A and education service, owner of Python Sarangbang

  • Python Sarangbang with Django/React Community (formerly Ask Django) Administrator (trước đây là Ask Django)

  • (Former) Microsoft Azure MVP Award Recipient (2016–2022)

External Activities

  • Offline Education: SK Telink, LS Group, Samsung Display, Pusan National University Information Technology Services, Seoul National University Venture Management Combined Major, Fast Campus Web Service Development Camp 3rd Class, etc.

  • Technical Consulting: Euclidsoft, Pusan National University, Korea Evaluation Institute of Industrial Technology (KEIT), Korea Communications Agency (KCA), etc.

I will be your Python/Django/React pacemaker. 😉

More

Curriculum

All

29 lectures ∙ (4hr 10min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

80 reviews

4.7

80 reviews

  • ilco님의 프로필 이미지
    ilco

    Reviews 23

    Average Rating 5.0

    5

    100% enrolled

    I am a beginner in non-major web development. I am at a basic level of handling Django while making landing pages as a side job. I am just now leaving a rating with excitement and excitement. Each chapter is filled with valuable development tips as well as Django philosophy. (The word "honey" feels too trivial, so I gave up trying to find a better metaphorㅜ) I was excitedly going through each chapter, taking notes and applying them to my projects little by little, but when the model part suddenly said it was the last lecture, I was actually a little disappointed. ( I want to hear more stories. But from here on, I guess I have to learn on my own..) I think there might be people who are considering taking the course who read this, so I will list some of the advantages of this course. The most common one is "Follow and complete a small project" Rather than a method (of course, there is practice), I think it is a lecture that gives you some thoughts and stories on how to supplement or solve some problems you have encountered or will definitely encounter during development. (In a good way, it feels like <Lee Jin-seok's version of Tuscoop Django>) In that context, it seems that there will be some parts that feel vague for those who are completely new to web development. It is not a lecture that focuses on finishing a project that is visible one by one. If you are completely new to web development or the Django framework, I recommend that you study the basics first with a few other tutorials, like the Django official homepage tutorial or the Django Girls tutorial? And then if you take this class again, I think you will definitely feel different. Your satisfaction will also increase. People call it the Dunning-Kruger effect, right? After I tried coding several examples from free tutorials or books on the market (I guess it's just polls, blogs, and clone codingㅜ), I felt confident as if I were a Django expert, but when I listened to advanced Django books or Jinseok's lectures, it felt like my metacognition was suddenly activated and my humility that had run away was returning to its place. I'm a long-time fan of Jinseok's, so I might be biased, but in summary, I think it's a really good lecture that gives a lot of things to worry about and study. Have a nice day!

    • sukjunsagong님의 프로필 이미지
      sukjunsagong

      Reviews 3

      Average Rating 5.0

      5

      100% enrolled

      Thank you for such a great lecture! I look forward to other lectures.

      • ehddn16384995님의 프로필 이미지
        ehddn16384995

        Reviews 2

        Average Rating 4.5

        5

        100% enrolled

        I am learning a really good lecture from a great teacher. I think it is a more theoretical and practical lecture than the classes at my alma mater, Seoul National University. I am always grateful for the quick answers to basic questions. The introductory lecture is almost over and I have paid for the basic lecture, so I plan to pay for the next class and take it.

        • ehdrb92님의 프로필 이미지
          ehdrb92

          Reviews 3

          Average Rating 4.7

          5

          100% enrolled

          It was a suitable lecture for beginners who want to gain general knowledge about Django ^^

          • kwanwookim6899님의 프로필 이미지
            kwanwookim6899

            Reviews 1

            Average Rating 4.0

            4

            96% enrolled

            The lecture was good.

            pyhub's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!

            Free