
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
이진석
파이썬/장고 웹서비스 개발의 기초를 탄탄히 다져보세요. 장고 학습에는 시간도 걸리지만, 반복되는 개발 속에 여러분의 생산성을 극대화하실 수 있습니다. 여러분의 상상을 현실로 만들어보세요.
초급
Python, Django, React
Lay a solid foundation for Python/Django web service development. Experience the latest web frontend trends through React. All you need is Python to get started. Make your imagination a reality.
Deep understanding of the web by developing a single service in multiple ways
A deep understanding of Django web framework
Efficient Web API Development Using Django
Development using React function components
Integration between Django backend and React frontend
Service deployment using Docker containers
Django and django-rest-framework
The only lecture in Korea that covers this in depth!
This course is no longer available for sale.
You can check the renewed lecture based on Django 4.2 at the link below. :-)
Almost all the features needed for backend development
It is supported by Django .
Don't reinvent the wheel. Django supports almost all the features you need for backend development. Enjoy Django, reduce repetition, and save your time. Maximize your development productivity, significantly reduce the code you need to develop, and improve the readability of your code with Django/React.
To do that, you need a solid foundation in Django/React. You can build that foundation solidly through this one lecture.
Note
Without deep understanding
Listing only Python code
Developing Django web services
Tired person
Python Basics
I know the grammar, but
What to do next
People who are at a loss as to what to do
Direct web service
I want to build it,
How to start
For those who don't know
Web service with Flask
I tried to build it, but
Service development
Anyone who has experienced inconvenience
This course is designed to help you understand and utilize Django correctly. I sincerely wanted to convey Django's design philosophy. The following are excerpts from Django's design philosophy .
There is no royal road. It is just learning steadily and step by step. Come on that path with me. I will become your Python/Django/React pacemaker. Below is a quote from JangOO’s course review.
To be honest, there were many difficult parts when I first heard it... but after listening to it over and over again and repeating it, I felt that there was no better lecture for grasping the concepts. The best part was that it taught me how to use it in conjunction with React, so I was able to create both the front and back ends with my own hands and see the results for myself, which was really great.
We welcome all kinds of questions. Any questions related to Django/React, even if they are not covered in the lecture, are welcome. There is no such thing as a stupid question in the world. Please ask various questions. Let's think together and grow together.
I like the old life coding article by Egoing, so I'm quoting it.
<The Art of Asking Universal Questions from Coding Night School>
As an aside, the more trouble the questioner has, the better the answer will be. Also, if you describe the process of solving the question along with the solution, it will be helpful for later searches and will be a great help to others.
In order for this lecture to be a reference for Django, and to avoid outdated content, I promise to continuously update the changed Django functions. I will try to make this a lecture that continues to evolve. You can finish the basics of Django with this one lecture. If there is anything I missed, please let me know. I will reflect it immediately.
The slides used in all theory chapters have been refined and polished over many years of lectures. They are also provided as PDF files, so you can take the lectures while taking notes.
I have also carefully added links to official documents that you may find useful to refer to in the PDF document. Please read the relevant official documents whenever you have time. Django has really well-organized official documents. The answers are in the official documents. You should make it a habit to look at the official documents. That way, your skills will improve quickly. Don't start by Googling, but if you do, if you Google accurately, the official documents will probably come up.
All the practice details are committed to the repository below. This is convenient if you want to check the practice details with your own eyes.
Please check your player knowledge!
The most important thing is your enthusiasm for development and persistence. You can't understand everything at once. Only persistent practice can improve your skills. I will be your pacemaker on that journey.
I strongly recommend that you become familiar with the basics of Python syntax before starting this course. At the very least, please review Python functions/classes/inheritance/first-class functions/decorators before starting.
Among these, inheritance and decorators are essential grammars for understanding and customizing various functions of Django. The decorator concept is similarly applied to React's HOC (Higher Order Components). Since Python and JavaScript are scripting languages, they have many similar grammars.
You will be able to build a solid foundation for understanding the web, Django backend, and React frontend development. Through this, you will be able to create simple Instagram/Baedal Minjok services in no time. Of course, you cannot reach this level by simply listening to the lecture once and following the code. Attend the lecture diligently, think about it, ask questions, and develop.
Once you understand Django well, you can quickly start using Python web frameworks such as Flask or FastAPI. They may seem different, but they are similar because they are all web frameworks developed in Python. You can mix and match them in one service as needed.
In the last chapter, we will also explain in detail about deployment using Docker containers. If you use this, you can deploy web services more easily regardless of language/framework on various cloud vendors :-)
Let's understand the technical background of Django and React.
We will set up the Django development environment and look at the core functions of Django. And in order to experience the power of Django, we will conduct a Django blog development live coding show. The source code editor will use Visual Studio Code, and we will explain the development environment settings centered on Windows.
Understand each function of Models, Django ORM, and learn how to use models to perform database CRUD.
Let's understand the different ways to handle HTTP requests through Django Views.
Learn the most basic web front-end HTML/CSS/JS development methods and how to place CSS/JS files within a Django project.
Learn validation using Django Forms and how to use it in View. All data sent to the server should never be trusted and must be validated before being reflected in the DB.
For example, if a request for withdrawal of 1 million won comes from the bank, you should check if there is 1 million won in the balance before making the withdrawal. It may seem obvious, but many people develop programs to process withdrawals of 1 million won without checking the balance. They find validation cumbersome or difficult, so they say they will implement it first and then leave it for later.
These Djangos are well-linked with various functions to systematically perform validation. If you know Django well, you can perform systematic validation with minimal code and manage our service more safely. Isn't it the purpose of using a web framework to make good use of and enjoy these functions? You can see as much as you know and use as much as you know. Just typing is not development .
It is an essential function that must be taken care of in the service authentication security. There are various vulnerabilities on the web, and it may be difficult to take care of these vulnerabilities one by one. Django provides almost all the functions required for authentication in Django Basics. The authentication function is guaranteed and maintained by the Django team.
Just because you use the features provided by the Django team doesn't mean you're blocked from customizing. It's well designed so that we can customize as much as we want. If you follow the default logic of the auth app 100%, there's almost nothing to code. Let's implement login/logout/signup functions by making full use of the auth app, which is the default Django app.
Now it's time for practice. Let's develop an Instagram St service together, making full use of Django's features.
Django's basic features are focused on implementing web pages. They can be used for developing web APIs, but they do not 100% match the usage. That is why DRF, which focuses on developing web APIs, was developed. DRF is not a separate library from Django, but a library that follows Django's design philosophy. DRF's Serializer follows the philosophy of Django's basic Form. DRF's ViewSet/APIView was developed based on Django's basic CBV. Therefore, in order to use DRF well, you must be good at Django's basics to 100% understand and utilize its functions.
Learn ECMAScript 6 (ES6) grammar and the core concepts of React.
Up to the previous section, we have learned all the basic theories required for Django/React development. Now , it is time to practice mixing React and Django together. Let's develop the Instagram St. service together by making full use of the functions of Django/React. In this lecture, we will not implement all the functions of Instagram St. Since many of the necessary service functions have similar technical implementations, we will explain the core service functions without duplication.
Learn about the need for container-based service deployment, how to install Docker, and how to build and deploy Docker images.
Q. Is this a lecture that non-majors can also take?
This is a proven lecture that has been conducted for non-majors for several years. If you understand the basic grammar of Python, you can follow it. Of course, you may not understand it after listening to it once. There is no one who understands it after listening to it once. Don't be too disappointed. It is natural because you are learning an unfamiliar field. Efforts with a clear direction will not betray you. Please watch it several times, think about it, and learn. If you still have doubts, please ask questions right away. Let's work through it together. :-)
Q. Isn't Python a beginner's language?
Python is more readable than other languages, and can efficiently perform many tasks with short codes. Although Python has not been popular in Korea for very long, it has been a major language overseas for more than a decade, and is actively used in various fields including the web.
And Python is not slow. Just as English becomes Konglish if you don't understand it properly, Python code used without understanding Python properly is not efficient. If you understand and use Python well, you can quickly develop code that runs fast. Can we say that code developed in C runs fast in all cases? If you develop it to run slowly, it will run slowly. And although Python is slow in CPU operations, Python libraries developed in C/C++/Rust solve the parts that require fast CPU operations. Libraries like numpy. So, you can use Python to do data analysis and machine learning. :-) In fact, many of Kakao's machine learning APIs are developed in Python. (Reference: [YouTube - PyCon Korea] Application Server Development Review for Recommendation System @kakao )
Q. Isn't Django too expensive to learn, slow, and has too many limitations?
Django is a mature framework that has been around for over 17 years since it was released in 2005. (Spring was released in 2003.) Django is a full-stack backend framework, and almost all the features required for backend development are developed and being developed within Django.
Django is just a single Django that provides many features. Having many features does not mean that it is slow. Micro web frameworks like Flask provide fewer features. Having fewer features does not mean that it is fast.
The first of Django's design philosophies is "loose coupling." Django provides a variety of functions in a full stack for convenience, but each function is independent. You can select and use only the functions you need, and you can combine them with various Python libraries.
Toss has an organization called "Toss Internal" that creates services for the 1,000 or so Toss team members. This organization develops services with Django and React. ( Related job posting for Toss: Server Developer (Internal Product) ) Why did the Toss Internal team choose Django and React?
Q. To what extent does the course cover Django/React?
We cover all the basic technologies of Django required for basic web service configuration. Django channels and Celery are not covered. In React, we cover everything required for basic web service configuration except Redux. The reason Redux is excluded is that although many people are still using Redux, I think it is a technology that unnecessarily increases the complexity of React applications. Redux is a technology that came out when React did not have a proper state management technology. There are various state management technologies now. Among them, we will take a deep look at Hooks and Context API.
Q. Is there a practical environment that I need to prepare before taking the course?
Any environment where Python and nodejs can be installed is possible. Windows/Linux/Mac environments are all good. If you have difficulty installing Python/nodejs, try using the cloud IDE service . You can use the Linux environment with a web browser.
On Windows, we recommend Windows 10 Pro or higher for easy Docker Desktop installation. Windows 10 Home may require registry modifications, which can be troublesome. Since the Cloud IDE service is a service powered by Docker, running Docker inside the Cloud IDE container is not possible.
This course was originally provided on another platform, but has been transferred to Inflearn. We are sharing our course reviews from the previous platform.
on1OO
It really explains in detail, focusing on very detailed concepts. It may be difficult at first, but as the concepts accumulate, I think I understand them deeply, so I was really satisfied!! I definitely recommend that you study at least the basics of Python and listen to it. It covers everything from the basics of Django to deployment. I also really liked the part where he gives tips that are hard to understand when studying alone.
ossOO
I would like to thank instructor Lee Jin-seok for creating this course. I am still taking the course, but as each chapter progresses, my questions are being answered. I bought several books about Django and took courses related to Django to learn on my own, but it was very difficult to learn the in-depth parts of Django by myself. There were many parts that I used without understanding and thought, “What? How can I do it?”. As I listened to instructor Lee Jin-seok’s course, I think I learned why it works this way, what its structure is, and how to use it. The course progresses sequentially, such as admin > model > view, but each chapter is taught with consideration for connectivity, and the content is also deep, so it seems like a great course for beginners to intermediate users like me. Also, while working with Django, I thought a lot about the front-end, and I thought about integrating Django with Vuejs and other front-end tools, but I chose this course, which is a one-shot package, because I thought it would take time and a headache to learn on my own. 154,000 won is not a small amount of money, so I hesitated a lot before paying. However, after paying and listening to the lecture, I felt that the lecturer had really thought a lot about this course, and I did not regret the money spent. The chapter progression is smooth, and the tone of voice is also good for concentrating on the course. It is a shame that the course period is limited to 180 days, but that is a matter of how faithfully I study and acquire the course materials. 😭😭 The course materials are solid, so if I acquire them well through repeated study for 180 days, I think I will be able to remember and utilize them just by looking at the course materials that were created later.
Mr. HaOO
This is the most informative lecture I've ever taken. Since he has a lot of experience, he immediately deals with any errors that he encounters, so the flow of the lecture is not interrupted. His explanations are very clear, and he skips over content that needs a lot of explanation and explains it step by step throughout the lecture. I think the lecture is very well structured. I also have teaching experience, so I know that he puts a lot of effort into the lecture. It's on a different level from YouTube-style web lectures. It's a really informative lecture that covers everything from the basics to deployment. If a friend wants to learn Django or React, I definitely recommend it. I paid the full 220,000 won, but it was worth it. You need to know basic Python grammar, and you don't need to know JavaScript at all. If you just know Python grammar, I think it's a lecture that even non-majors can listen to smoothly.
liveOO
First of all, thank you so much for making such a great lecture!! I heard that it was a really good lecture, so I trusted it and paid for it, and as expected, unlike other lectures, it was a lecture that I didn't regret spending money on. If you follow it properly from beginning to end, it will take longer than the lecture time, but that time will definitely not be a waste. It's a lecture that's too good to watch once. I highly recommend it to those who feel like they lack basic skills :)
Mr. HyunOO
I wish there were more lectures like this. Django itself has a lot of abstract parts, so it's easy to make something, but there were many cases where I didn't understand the internals. In that sense, the part where you explained the internal code was very helpful. I was so impressed that I even wrote a review on my blog recommending it. Thank you :)
Mr. Lee OO
I took the lecture at askcompany and I want to pay again and do it properly this time. It is very helpful, from the basics to the details. I couldn't listen for a while since the semester started, but I will try to listen to it again even if I have time. Thank you for making such a great lecture. 'Life is short. Use Python and Django.' The saying comes to mind. I will work hard.
Mr. HanOO
I usually do various tasks with Python and upload APIs using Flask, but at some point, I started to need to do more work with Django, so I'm listening to this. Since you create examples one by one with code, you can learn the necessary parts very easily and in a short period of time. If you need to study Django, I highly recommend it!
Mr. Yang OO
This is a really good lecture. I had to analyze and modify open source made with react and django, so I'm learning react and django in a short period of time. It's difficult, but I'm learning well because you explain it well. I only did applications, but I had no concept of full-stack development of web programs with react and django, but it's very helpful. The information you give me as tips here and there is also very useful. I think it would have been difficult just with the book. There's a lot to learn and know. I'm still listening, but I'm very happy that I'm learning about the latest web technologies through this opportunity. Thank you so much for making this lecture.
Mr. OO
I highly recommend it. It is the most satisfying course among the courses I have paid for. You may think the price is a lot, but it is a course that is filled with Lee Jin-seok's passion, effort, and know-how. :) It is the most detailed Django course in Korea!
Mr. ROO
The detailed lectures are really good. At first, when I didn't know anything, I had a headache because I didn't know what he was talking about, but after listening to it for the second time, I realized that he was explaining things in order to help me understand the basics. I'm still taking the class, but I don't regret paying the tuition fee~
Mr. KaOO
I am studying happily because the instructor explains everything thoroughly. I originally studied Django and made a homepage with Django template, but after studying React, I was at a loss as to how to connect with API and how to distribute it. After taking the instructor's class, I feel like my mind has been cleared up a bit! If there is something confusing, I keep listening and repeating it, and then I understand it. Thank you. I will run until the end!
I am Jinseok Lee, a software developer who is passionate about Python and Django.
Through the Django Live Coding Show (50 min. YouTube St.) video, we will show you the power of Django web development through live coding.
Who is this course right for?
If you want to start developing Python web services from the very beginning,
If you are curious about API integration between Django and React
Those who want to experience everything from backend/frontend to deployment in one class
Need to know before starting?
Understanding the basic grammar of Python
Understanding the basic syntax of JavaScript (functions, prototypes, this, etc.)
Experience of creating a simple page with Django
2,970
Learners
141
Reviews
933
Answers
4.8
Rating
5
Courses
파이썬과 장고에 진심인 소프트웨어 개발자
파이썬/장고 질답 및 교육서비스, 파이썬 사랑방 주인장
파이썬 사랑방 with Django/React 커뮤니티 (구. Ask Django) 운영자
(전) Microsoft Azure MVP 어워드 수상 (2016년~2022년)
대외 활동
오프라인 교육 : SK텔링크, LS그룹, 삼성 디스플레이, 부산대학교 정보화본부, 서울대학교 벤처경영학연합전공, 패스트캠퍼스 웹서비스 개발 캠프 3기 등
기술 자문 : 유클리드소프트, 부산대학교, 한국산업기술평가관리원, 한국방송통신전파진흥원 등
여러분의 파이썬/장고/리액트 페이스메이커가 되겠습니다. 😉
All
157 lectures ∙ (48hr 19min)
Course Materials:
All
75 reviews
4.9
75 reviews
Reviews 5
∙
Average Rating 5.0
5
주니어 장고 개발자로 일하고 있고 정리차원에서 강의를 수강하게 되었습니다. 제가 수강했던 장고 강의중에서 깊이있고 노하우가 녹아있는 강의라고 생각합니다. 개인적으로 좋았던 부분입니다. - 단순 화면을 뽑아내는게 아닌 컴포넌트 기반 코드 구조에 대한 고민이 녹아있음 - ORM 활용 및 쿼리 튜닝. - 장고 MTV패턴 구조에 대한 개념 - django 또는 DRF에서의 함수형, 클래스형 뷰의 적절한 활용 좋은 강의 너무 감사드리고요 다른 강의도 오픈하시면 수강하고싶습니다. 장고 채널스, 셀러리 등을 활용한 비동기 고급강의도 꼭 열어주셨으면 좋겠어요 화이팅입니다.
Reviews 22
∙
Average Rating 5.0
5
파이썬이 한창 유행이 된 2021년 현재에도 단연 군계일학입니다. 국내외를 통틀어 "이진석 장고"에 비빌 만한 다른 명강의가 없다는 것도 학계의 정설이라고들 합니다ㅎㅎㅎ 2017년쯤인가? 파이썬을 접하기 시작한지 얼마 안 되었을 때 (타 사이트에서) 진석님의 강의를 처음 접했습니다. 파이썬 기본문법부터 독학으로 배웠고 웹에 대한 이해가 전혀 없던 터라 구멍이 많았는데, 진석님의 강의가 비단 장고 뿐만 아니라 파이썬과 프로그래밍 기초를 잡는 데에도 큰 도움이 되었습니다. 덕분에 저는 전문 개발자가 아님에도 블로그를 직접 만들어 운영하는 경험도 해봤고, 간단한 웹페이지 제작 부업도 굉장히 쏠쏠하게 해봤습니다. 추천이나 소개를 많이들 해주셔서 별도로 플랫폼이나 광고, 홍보를 하지 않았어도 한 달 수강료의 몇십 배나 되는 수익을 벌었어요. (저 같은 경우는 운좋게 지자체나 중소규모 이벤트업체에서 임시로 제작운영하는 지역축제, ㅇㅇ페스티벌 또는 ㅇㅇ공모전 웹페이지 제작 위주로 수행할 수 있었습니다. 틀이 대체로 비슷하고 제작난이도도 쉬워서 시도해 보기 좋아요.) 그 때에 비하면 진석님 강의에 리액트나 인스타그램 튜토리얼, AWS 등 커리큘럼이 많이 추가되긴 했지만, 번갯불에 콩 구워먹듯이 하루이틀 사이에 만들어낸 강의가 아니라는 점에 큰 점수를 드리고 싶습니다. 푹 익힌 묵은지나 된장 같은 맛의 강의입니다. 잘 다듬어져 있어서 과하거나 부족한 부분이 없다는 느낌입니다. (물론 현직 웹개발자라면 이야기가 다를 수 있지만, 입문에서 초중급 수준이라면 이것 하나로 충분하지 않겠나 싶습니다.) 동료나 지인이 파이썬 웹개발에 대해 추천해달라고 할 때 저는 단 한 번도 다른 강의를 이야기하지 않았습니다. "인프런의 이진석"만 추천하고 있습니다. 오죽하면 이만큼 더 좋은 다른 강의도 있나? 하고 다른 사이트를 여러 번 찾아보았는데, (물론 좋은 강의는 다소 있었지만) 이만한 강의가 없었던 것 같습니다. 이 강의를 더 강력하게 추천하고 싶은데, 제 필력이 여기까지인가봅니다ㅜ 이만 줄입니다. 마치며, 평생 무제한 수강이니만큼 필요한 시점에 참고할 수 있게 이번 생에 한 번은 수강해놓으시길 권합니다. 행복한 하루들 보내십시오!
안녕하세요 선생님. 저도 해당 강의를 들으면서 "이걸 제대로 반복하면 나도 풀스택 웹 개발을 해볼 수 있겠다."란 자신감이 생겨서, 마침 늦은 나이에 진입하는 형님께 해당 강의를 추천해드릴 생각입니다. 그런데 늦은 나이라 신입은 힘들 것 같고, 본인 의지는 "프리랜서 혹은 자택 근무로 적당하게 오래도록 일하고 싶다."는 의견인데 선생님의 웹페이지 제작 부업 경험과 어느정도 맞는 것 같아서 그런 부업이나 프리랜서 일은 어디서 구하셨는지 여쭤볼 수 있을까요?
Reviews 8
∙
Average Rating 4.3
Reviews 1
∙
Average Rating 5.0
Reviews 3
∙
Average Rating 5.0
Check out other courses by the instructor!
Explore other courses in the same field!