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 .
Coupon application is limited to one per person .
During the course, you will be using a 1-month PyCharm Professional trial license.
Only those who have completed this course may apply.
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.
Please register the coupon you received immediately. If you do not register, you will no longer be able to receive license support from JetBrains.
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 .
AboutDjango design philosophy Deep understanding
In order for Koreans to speak American English fluently, they need to understand and respect American culture.Using a framework alsostarts 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.
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
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.
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.
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!
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!
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.