강의

멘토링

로드맵

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,487 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,985

Learners

144

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

  • 제임스님의 프로필 이미지
    제임스

    Reviews 8

    Average Rating 4.8

    3

    36% enrolled

    40%정도 듣고 수강평 남깁니다. 지식의 저주에 빠진 강의입니다. 장고 입문자가 이해할 수 없는 용어와 설명이 많습니다. 아니면 제가 개발 지식이 부족한걸 수도 있습니다. 강사님께서 <리액트 + 장고> 강의를 들었다는 가정하에 설명해주시는거 같습니다. 강의를 보면서 오히려 제가 찾아보는 시간이 더 많은거 같습니다.

    • 이진석
      Instructor

      안녕하세요. 강의 진행에 있어 답답함이 많으셨겠습니다. 강의 진행이 조금 더디시더라도, 궁금하신 부분은 질문으로 남겨주시겠어요? 단순히 검색으로 원하시는 수준의 답변을 얻기 힘드셨을 것입니다. 보다 양질의 강의와 질답을 제공해드리는 것이 이 강의의 존재이유라고 생각합니다. 주입식 교육이 아니라, 궁금한 부분은 물어보고 질답을 통해 파이썬/장고에 대한 이해도를 높여가는 그런 시간이 되셨으면 합니다. 많은 질문 정말 정말 환영합니다. 보내주신 피드백과 올려주실 질문을 통해, 보다 친절하고 쉬운 강의를 만들 수 있도록 노력하겠습니다. 제임스 님의 파이썬/장고 페이스메이커가 되겠습니다. :-) 화이팅입니다.

  • 일코님의 프로필 이미지
    일코

    Reviews 22

    Average Rating 5.0

    5

    100% enrolled

    저는 비전공자 웹개발 초보입니다. 부업으로 랜딩페이지 만들면서 장고 한숟갈 다루는 기초 수준입니다. 방금 완강하고 두근거리며 별점 남깁니다. 챕터 하나하나에 장고 철학 뿐만 아니라 소중한 개발 꿀팁이 쏟아지네요. ("꿀"이라는 단어가 넘 소소하게 느껴져서 더 좋은 비유를 찾으려다 포기함ㅜ) 한 챕터 한 챕터 메모도 하면서 제 프로젝트에 조금씩 적용도 해보면서 두근두근 정주행하다가, 모델 파트에서 갑자기 마지막 강의라고 불쑥 뜨니까 사실 조금은 아쉬운 마음입니다. (썰을 더 듣고 싶어서요. 근데 여기부터는 또 스스로 학습해야 할 영역이겠죠..) 혹시 수강을 고민하시는 분들이 이 글을 읽을 수도 있겠다 싶어 이 강의의 몇 가지 장점을 적어보면 가장 흔한 "작은 프로젝트 하나 따라하며 완성해보기" 방식이라기보다는(물론 실습이 있기는 합니다.) 개발 중에 만난, 혹은 분명히 만나게 될 문제 몇 가지를 어떻게 보완하거나 해결할지에 대한 생각거리와 썰을 풀어주시는 강의라고 생각합니다. (좋은 의미로 <이진석 버전의 투스쿱 장고> 느낌이네요.) 그런 맥락에서 웹개발 완전입문자 분들이 수강하시기에는 막연하게 느껴질 부분들이 있을 것 같습니다. 꾸역꾸역 눈에 보이는 프로젝트를 하나 끝내보는 데 집중하는 강의는 아니니까요. 웹개발이나 장고 프레임워크를 완전 처음 접하시는 거라면 선행학습으로 다른 몇 개의 튜토리얼, 장고 공식홈페이지 튜토리얼이나 장고걸스 튜토리얼 정도?를 가지고 기초를 먼저 공부해보실 것을 추천드립니다. 그리고 나서 이 수업을 다시 들어보시면 느껴지는 바가 확실히 다를 거라고 생각합니다. 만족도도 높아질 거고요. 더닝크루거 효과라고들 하잖아요? 제가 시중에 무료 튜토리얼이나, 책에 나온 예제 여러 개를 코딩해보고 나서는 (그래봤자 polls와 blog, 클론코딩 정도겠지만ㅜ) 마치 장고 전문가라도 된 마냥 자신감이 넘쳤는데 장고 고급서적이나 진석님의 강의를 들으면서는 마치 메타인지가 급 활성화되고, 가출했던 겸손이 제자리를 찾는 느낌입니다. 개인적으로 진석님의 오랜 팬이라서 제가 콩깍지가 씌인 걸 수도 있는데 요약하면 하여튼 고민거리, 공부할 내용도 많이 알려주시는 참 좋은 강의라고 생각합니다. 행복한 하루 되세요!

    • stock Man님의 프로필 이미지
      stock Man

      Reviews 2

      Average Rating 4.5

      5

      100% enrolled

      정말 좋은 강의를 훌륭한 선생님께 배우고 있습니다. 모교 인서울 학과 수업보다도 더 이론적이고 실무적인 강의라고 생각합니다. 기초적인 질문에도 빠르게 답변 주셔서 항상 감사합니다. 입문 강의 곧 끝나가고 기초 강의도 결제했는데 다음에 어떤 수업이 나오더라도 꼭 결제해서 수강 할 계획입니다.

      • Kwanwoo Kim님의 프로필 이미지
        Kwanwoo Kim

        Reviews 1

        Average Rating 4.0

        4

        96% enrolled

        강의 좋습니다.

        • 사공석준님의 프로필 이미지
          사공석준

          Reviews 3

          Average Rating 5.0

          5

          100% enrolled

          너무 좋은강의 감사드립니다! 다른강의도 기대됩니다

          Free

          pyhub's other courses

          Check out other courses by the instructor!

          Similar courses

          Explore other courses in the same field!