We will check your application details by Friday every week and send you a coupon to the email address you provided.
Please register any coupons you receive immediately. Failure to do so will result in you no longer receiving license support from JetBrains.
Coupon applications can only be made once per person per class .
Tip: After using this coupon, you can continue to subscribe to JetBrains at a discounted price using the same account.
Note: Students and teachers can receive a one-year license for all JetBrains tools through the JetBrains Student Support Program . Once you apply for the program, you'll receive your license within a few days.
Which code would you choose?
Left code: Code using the PortOne payment API
Right code: JSP sample code from Inicis
While Import's payment API is simple and powerful, many people find it difficult to integrate it into their web services. With this one tutorial, you can integrate Import's payment API into your Django project.
I'mport 💳
Payment integration in web services has long been a frustrating feature. PG companies have shown no interest in improving the payment integration development experience.
Long development documents and outdated PHP/JSP sample codes created by each PG company over a decade ago.
Where to start when applying it to modern languages and frameworks? 😢
Different protocols for each PG company
If I use only one PG, it becomes a single point of failure, so if I want to use more than one PG, I have to implement different PG protocols for each? 😨
User authentication is required for payments and confirmation. We implement user authentication by actively leveraging the Django default app, django.contrib.auth.
Implementing membership registration using UserCreationForm and CreateView
Implementing login using LoginView
Logout implementation using LogoutView
Implementing a profile using the login_required decorator
5. Mall App - Basic Configuration
Let's create a product management function.
Product classification (Category) and product modeling
Bulk registration of over 300 products through implementation of the Django custom command load_products
MEDIA settings for serving product photos
Admin Custom for efficient product management
Create product pages for user exposure, generate thumbnail images, support paging, and support search.
6. Mall App - Shopping Cart
For more convenient payment, the shopping cart function is essential.
Implementing a shopping cart using the CartProduct model
Implementing shopping cart modifications using only Django formsets, without JavaScript intervention.
Changing widget styles using the django-widget-tweaks library
Implementing a shopping cart notification using Bootstrap
7.Mall App - Ordering and Payment
This is the highlight section of this lecture.
Order and Payment Modeling
Create an order through the shopping cart
Designing an abstract model for PortOne payment: Let's design an abstract model so that you can easily attach ImportPay to various domains simply by inheriting classes.
Implementing payment cancellation on the Admin page
8. Mall App - Receive Payment Results
The method for receiving payment results varies depending on the user's device. Let's examine how to ensure stable payment results.
How to support the m_redirect_url argument for payment support in iPhone/Android environments
How to support webhooks for stable payment integration
How to integrate ngrok for webhook testing:How to handle DisallowedHost exceptions and CSRF verification failures
Expected Questions Q&A 💬
Q. Are there any environment requirements or other precautions I need to take before taking the course?
This lecture does not cover setting up a Python/PyCharm development environment. For more information, please refer to the "Preview" section of "Introduction to Python/Django: Django Design Philosophy ."
Q. Do I need a business license to link payments?
No. You can link credit card payments simply by signing up for PortOne. Business and PG registration can be completed after the service is implemented.
Q. Is this a course that even beginners to Django can take?
Although it does not interfere with the practical use of Django, it will be of great help in understanding the lecture if you know the core concepts of Django.
Introducing the Knowledge Sharer ✒️
I am Jinseok Lee , a software developer who is passionate about Python and Django.
Python addict, Django developer with 16 years of practical experience
Seoul National University, Joint Major in Venture Management, Python/Django lecturer, "Venture Startup Web Programming" (2016/2017)
Fast Campus, Web Service Development Camp (Python/Django) 3rd Instructor (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.
Recommended for these people
Who is this course right for?
For those of you who are curious about payment integration in Django
Even after looking at the official import documentation, those who are having difficulty connecting the service
Those who have learned the basics of Django and are looking for a new challenge
Need to know before starting?
Python Language Fundamentals (Functions, Classes, Decorators)
Web Frontend JavaScript Basics (Functions, Event Handling)
I am a beginner developer developing a web service with Django. Ultimately, I connected Import (Port One) to the service, but since there is no documentation for Django, I paid and took the course with the last rope in my hand. I tried to pick out only the parts I needed, but as I listened to the lecture, there were so many contents that were helpful for my coding (related to shopping malls). Here are the advantages:
1. Fast progress
- There is no unnecessary content, and since he types fast, there is no waiting time and he delivers only the main points well. The audio is good, and the subtitles are great. All the waiting parts are edited, so I give it a thumbs up!
2. Good code writing method
- For beginner developers like me, reading the code of experts is very helpful. However, as I read, there are many times when I don't know why something was written with this intention, but it was good because I could understand all the intentions by following it one by one.
3. Code that can be used in practice
- It is not an easy code that you can see anywhere, and there are many practical contents that consider security, so I think I can just copy and paste it, so it was really good.
I would like to visit you once and express my gratitude since you are organizing a Python meetup in Daejeon where I live. I have already finished developing my code, but I would like to change my code to be a bit more professional, so I am planning to take a regular Django course(?). I highly recommend it. You can learn just by looking at the code.
I don't usually write online, but I'm curious so I'll write a few words.
Why are there no reviews for this great lecture? Haha
Thanks to Mr. Lee Jin-seok, I got started with Django and am studying all the lectures you've created.
Thanks to you, I was able to run a business that was almost just an idea, but now I'm running a web service.
Thank you for always providing great lectures and information.
Other Django lectures were also helpful,
but this is the only Django lecture that I think you provide that can be used practically.
I look forward to more lectures that can utilize Django.
By the way, beginners in Python and Django may find it difficult, but I think they'll come back here eventually.
That's what I did... If there's a discount period, it might be a good idea to purchase the lecture in advance. It's the fastest shortcut to intermediate Django...
I was able to learn the overall contents related to payment using iamport. Above all, I think the lectures have incorporated the key points that can be applied directly to the actual work well. The series of processes of putting a product in the shopping cart, paying, verifying the payment status, and canceling it are well covered. Among the many lectures I have paid for recently, this was a lecture that I did not regret spending money on. However, in terms of implementing an actual shopping mall, I felt that the contents of the above steps covered in the lectures were concise and only included the key parts, which was disappointing. I wish there had been more lectures on various situations that would occur in the actual work. For example, implementing payment by anonymous users is a really worrisome scenario. The current lecture alone is different from other lectures, but I hope that it will be updated with supplementary contents added little by little so that it will become a lecture that I visit many times. It was a lecture that I would actively recommend to people around me.
Thank you for your review.
The current cart/payment implementation is designed to have a foreign key relationship with the login User model, so you must be logged in. I will think about the "anonymous user payment" part you mentioned and share the results.
Thank you so much for actively participating in the lecture. 👍