강의

멘토링

로드맵

Programming

/

Back-end

Introduction to Python Django, starting with Django design philosophy

Start Django web development properly with a deep understanding of essential Python grammar and Django design philosophy for Django development.

(4.7) 77 reviews

1,479 learners

  • pyhub
Django
Python
Thumbnail

Reviews from Early Learners

What you will learn!

  • Essential Python Syntax for Django Development

  • Setting up a clear Python/Django development environment on Windows/Mac

  • A deep understanding of Django design philosophy

Understanding the philosophy of Django
Enjoy Django the right way 💪

🚀 This course has been converted to free from Friday, November 29, 2024. We hope that this conversion will help spread Django to more people.

Take the lecture and get a PyCharm Professional coupon! 🎫

We have received a 6-month redemption code from JetBrains to use PyCharm Professional (paid tool), the best IDE for Django development, for 6 months. After completing the course , please fill out the application form at the application link .

  1. Coupon application is limited to one per person .
  2. During the course, you will be using a 1-month PyCharm Professional trial license.
  3. Only those who have completed this course may apply.
    1. Application link: https://forms.gle/mvDwLQmaCz4Z2vQD9
  4. It will take about 2-3 days to verify your application. Once verified, we will send you a coupon to the email address you provided.
    1. Please register the coupon you received immediately. If you do not register, you will no longer be able to receive license support from JetBrains.
  5. Tip: After using this coupon, you can continue to subscribe to JetBrains at a discounted price using your account.

Note) If you are a student/teacher, you can receive a one-year license for all JetBrains tools through JetBrains' student support program . If you apply for the program, you can receive the license within a few days.

Django lecture for beginners who want to start properly 🔥

This is a theory-oriented introductory lecture that deeply explains the grammar required for Django and the design philosophy of Django. There is an existing < Complete Guide to Python/Django Web Service Development with React > lecture, but it is too large and may be burdensome for beginners, so I created this lecture for beginners. It consists of introductory content that was not covered in the previous lecture .

However, it may be difficult for those who are new to web development. For those who are new to web development , Life Coding I recommend that you study the YouTube lecture first.

For Django development
Essential Python Grammar

The Django web framework is a huge chunk of code. In order to make good use of it, understanding the 'essential Python grammar' is essential. However, if you only know Python grammar superficially, you will find it difficult to read and modify the code when you encounter various Django example codes in practice. Get rid of the fear of Django code through the essential Python grammar covered in this lecture .

About Django design philosophy
Deep understanding

In order for Koreans to speak American English fluently, they need to understand and respect American culture. Using a framework also starts with a clear understanding and respect for its philosophy. Otherwise, you will find yourself reinventing the wheel instead of properly utilizing the framework wheel.

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


I recommend this to these people 🙋‍♀️

After learning basic Python grammar, those who want to start learning web app development

Those who lack understanding of the basic grammar required to learn Django

Anyone who wants to understand Django more deeply through Django's design philosophy

Anyone who wants to freely read and utilize application code implemented in Django


Lecture Features ✨

You can start by just knowing the basic Python grammar.
Lecture for beginners in web

Grammar required to understand each Django function
With real examples !

With a 14-year veteran Django developer
Django design philosophy in depth!

All lectures with Korean subtitles
Quickly understand the lecture content!


Learn things like this 📚

1. Establishing a development environment

We will guide you through setting up the latest Windows/Mac development environment.

  • Instead of manually installing each necessary program, install them all at once from the command line via a package manager (scoop for Windows, homebrew for Mac).
  • Installing and managing multiple Pythons on your PC is difficult. However, with 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. But not for Django development. We will install and guide you through PyCharm Professional, the best IDE for Django development.

2. Django Core Design Philosophy Overall

We cover the 'General' chapter of Django's design philosophy. Django is perceived as slow and difficult to learn because it is large. Django's design philosophy includes 'loose coupling'. Django only provides many basic functions. On the other hand, many people think that Flask is vaguely fast, but it is a micro framework with few functions. The performance of an application is not determined by the language/framework. It depends on the developer.


3. Client request processing and URL mapping

Django's design philosophy <View> and Let's take a look at it.

  • Python syntax covered: functions, positional/keywords, default arguments, closures, first-class functions/classes, type hinting
  • Django implements view implementation as a function (Callable Object), which simplifies view implementation. Let's compare it to request processing in Spring.
  • Practice: Let's implement the posting list page and the posting view page.


4. Template System

Let's use the Django template system to complete the email subject/content and practice sending SMTP emails.

  • How to efficiently combine email message strings using the Django template system
  • How to set up SMTP (Simple Mail Transfer Protocol) in Naver Mail
  • Sending SMTP mail using Django's 'Custom Management Commands' system


5. Decorators and Views

Let's look at the necessity of the Decorators syntax, which is actively used in Django, and how to create a decorator.

  • We take a deeper look at decorators as a way to implement AOP (Aspect Oriented Programming) in Python.
  • Introducing decorators in Django: cache_page (caching view responses), login_required (moving to login page when not logged in), transaction.atomic (DB transaction), user_passes_test (checking user permissions with custom rules), permission_required (checking user permissions)
  • Practice: Let's easily check whether the user is logged in when accessing a specific page using the login_required decorator.


6. Database processing using Django models

We will look at the Django design philosophy <Model> and the <Django Model> supported by ORM (Object Relational Mapping) technology.

  • Django models use class syntax. Let's look at the difference between class variable/instance variable syntax, which is often confused in Python class syntax, and descriptor syntax used when defining Django model fields.
  • Let's take a quick look at defining a model class and how database tables are created/managed using the migration feature.


7. Database API

Let's take a look at Django's design philosophy <Database API>.

  • Concise and powerful syntax: You should be able to create richly expressive queries with as little syntax as possible.
  • SQL Efficiency: Provides a way to query 'related objects' together for high performance.
  • It should be easy to write SQL statements when needed: SQL queries can be executed without intervention from the 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 faster. "Time" is the biggest cost. Life is short. Save your time with Django and focus on your business.

Q. Are there any environment requirements or other precautions I need to prepare before taking the class?

All you need is a Windows or Mac computer with internet access. We will explain in detail about setting up the development environment in this lecture.

Q. What can I do after learning the contents of this lecture?

This lecture focuses on understanding the philosophy of the lecture. Therefore, it does not cover detailed Django functions. After taking this lecture, you will not be afraid to build a Python/Django development environment, and you will understand Django's philosophy correctly. Implementation can be done by creating a Django project, creating a model, and implementing a simple list/detail page for the model.

Q. How can I learn more about Django?

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


Introducing the knowledge sharer ✒️

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

  • Pythonholic, 12 years of Django experience developer
  • Operator of Ask Company with Django/React (formerly Ask Django) Q&A Community
  • Ask Company operator of Python/Django education service
  • Daejeon <Python Love Room> Operator
  • Microsoft Azure MVP Award Winner (2016-2021, What is a Microsoft MVP? )
  • Seoul National University, Joint Major in Venture Management, Python/Django Lecture "Venture Startup Web Programming" Instructor (2016/2017)
  • Fast Campus, Web Service Development Camp (Python/Django) 3rd Instructor, 2nd Assistant (2015)
  • Lectures and consulting at numerous universities and companies: 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 Institute of Industrial Technology Evaluation and Planning, etc.

YouTube video

Through the Django Live Coding Show (50 min. YouTube St.) video, we will show you the power of Django web development through live coding.

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

Recommended for
these people

Who is this course right for?

  • If you are new to Python web service development

  • If you want to learn essential Python grammar for Django development

  • If you want to quickly understand Janggo's design philosophy

Need to know before starting?

  • Basic grammar such as Python control structures/functions/classes/inheritance modules

Hello
This is

2,975

Learners

143

Reviews

933

Answers

4.7

Rating

5

Courses

파이썬과 장고에 진심인 소프트웨어 개발자

대외 활동

  • 오프라인 교육 : SK텔링크, LS그룹, 삼성 디스플레이, 부산대학교 정보화본부, 서울대학교 벤처경영학연합전공, 패스트캠퍼스 웹서비스 개발 캠프 3기 등

  • 기술 자문 : 유클리드소프트, 부산대학교, 한국산업기술평가관리원, 한국방송통신전파진흥원 등

여러분의 파이썬/장고/리액트 페이스메이커가 되겠습니다. 😉

Curriculum

All

29 lectures ∙ (4hr 10min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

77 reviews

4.7

77 reviews

  • gusrb05022687님의 프로필 이미지
    gusrb05022687

    Reviews 8

    Average Rating 4.8

    3

    36% enrolled

    I'm leaving a review after listening to about 40% of the lecture. This lecture is subject to the curse of knowledge. There are many terms and explanations that beginners of Django cannot understand. Or maybe I lack development knowledge. It seems that the instructor is explaining it under the assumption that I have taken the <React + Django> lecture. I think I spend more time looking it up while watching the lecture.

    • pyhub
      Instructor

      Hello. I'm sure you've had a lot of frustrations with the lecture. Even if the lecture progresses a little slowly, would you please leave a question if you have any questions? It must have been difficult to get the answers you want by simply searching. I think the reason for the existence of this lecture is to provide better lectures and Q&A. I hope that this will be a time where you can ask questions about things you're curious about and increase your understanding of Python/Django through Q&A, rather than spoon-fed education. Many questions are really, really welcome. I will try to make a more friendly and easy lecture through the feedback you send and the questions you post. I will be James' Python/Django pacemaker. :-) Fighting!

  • ilco님의 프로필 이미지
    ilco

    Reviews 22

    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!

    • 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.

      • kwanwookim6899님의 프로필 이미지
        kwanwookim6899

        Reviews 1

        Average Rating 4.0

        4

        96% enrolled

        The lecture was good.

        • sukjunsagong님의 프로필 이미지
          sukjunsagong

          Reviews 3

          Average Rating 5.0

          5

          100% enrolled

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

          Free

          pyhub's other courses

          Check out other courses by the instructor!

          Similar courses

          Explore other courses in the same field!