From the actual demand analysis, to achieve the functions of today’s mainstream knowledge question and answer applications, including dynamic, article, question and answer, private message, message notification, search, personal center, to create an enterprise-level knowledge question and answer website, so as to comprehensively learn Python backend development stack. It covers Python, Django ecology, source code for generic class views, DFS/BFS/C3 linearization algorithms, composite and Observer modes, TestCase test cases, MySQL database, Redis cache, WebSocket Real-time push, Haystack+Elasticsear Ch search, application deployment and operation and maintenance, cloud computing services. Explain the whole process of enterprise project development from zero development to ali Cloud online.

Chapter 1 Django enterprise development practice (10 teaching documents +5 major assignments + the whole site source code provided)

This tutorial is specially designed for job-hunting/job-hopping salary/high quality graduation tailor-made actual combat tutorial! Not only the project is enterprise-level, but also the development process and technology selection are strictly in accordance with the real enterprise development process. Let you experience what a real enterprise development scenario is like without leaving your home. No longer afraid of no interview works and work experience, help you get a high salary offer!

Chapter 2 provides some best practices for Django projects

Best practices aim to optimize the results of production or management practices and reduce the likelihood of error. Some practical methods described in this chapter will be used in the future, which can be regarded as the foundation of project knowledge. Each section will be illustrated with examples.

Chapter 3 Project demand analysis, functional design and technology selection This chapter will analyze what functions need to be realized from the user’s point of view, learn demand analysis, Markdown write project demand documents, close to the principle of “high cohesion, low coupling”, modular design of website functions. The technology selection of the front and back end, and the version of each software.

Chapter 4 Introduces the Cookiecutter, its advantages and limitations. Choose Cookiecutter – Django to build projects with high completion according to the determined technology stack. Learn how to organize code and manage configuration in Python projects. How to manage dependencies. Pycharm connects CentOS 7 remote development Settings, MySQL user rights management and security Settings.

Chapter 5 Django-Allauth Implements Both local and third-party authentication. AbstractUser custom user model classes are derived from Django-Allauth. Django-allauth implements both local and third-party authentication. Learn how to use TestCase to write test cases for Django model classes, urls, and views.

This chapter introduces Django’s advanced knowledge, such as many-to-many foreign keys in ORM, while implementing the requirements. First use the general class view ListView/DeleteView development function, and then explain the framework of the source code, and then is the Python language in the MRO algorithm, according to the business → framework → source code →Python bottom algorithm order from shallow to deep explanation.

This chapter begins with two of the most common functional requirements in q&A services: slug for detail pages and tag management. According to DRY principle in software development, customize QuerySet in the model class, imitate the mainstream question and answer class website, realize the article Markdown edit and real-time preview effect, implement the function after analyzing CreateView/UpdateView source code.

Chapter 8 GenericRelation relational model class and RequestFactory class test view implementation q&A function: This chapter focuses on the core features of the product, and the business logic is quite complex. First, we’ll take a look at the user-question-answer-uplike/favorit-adopt relationship, and then introduce Django’s contentTypes. GenericForeignKey and GenericRelation are used to solve the problem. In our test cases, we’ll use a more enterprise-friendly approach — the RequestFactory class directly tests the view.

Chapter 9 [Private message] Message query set design, sending and receiving processing private message function includes private message record, online reply, private message prompt, the difficulty lies in the real-time push of the back-end message, this chapter first explains the design of message model class and query set to realize the user to send messages and receive messages processing, and then the principle of WebSocket. Django Channels, consumer Channels, routing, and WebSocket authentication in Django applications.

This chapter is the key and difficult point of the project, and will focus on it. The content includes the analysis of the business scenario of the notification function, the design and implementation of the notification processor, the further practice of WebSocket programming, what is the ASGI server, And how the ASGI request channel service (Redis) inherits the AsyncWebSocketConsumer class to make users connect, disconnect, and receive notifications asynchronously.

In this chapter, you will learn how to use Django-haystack + ElasticSearch to search for articles, updates, questions, users, and tags. You can install and configure Elasticsearch, generate indexes in real time through haystack, and sort search results.

In this chapter, you will learn how to optimize Django projects, including functionality, caching, SQL, etc. Then you will learn how to deploy Python applications, the various WSGI/ASGI protocols, and the use of Nginx reverse proxies. Then, we will elaborate on the two categories and four deployment methods of Django applications, including the meaning of deployment configuration files, configuration items, log content, and how to troubleshoot errors.

Chapter 13 Alibaba Cloud ECS+RDS Online Project Cloud computing has become the mainstream trend, familiar with the use of cloud products has become the recruitment requirements of enterprises, this chapter will explain how to use Alibaba Cloud ECS+RDS online project, including the selection of appropriate ECS, initial configuration, security configuration, etc. RDS instance creation, account and database management, ECS connection to RDS. Students are required to apply for cloud accounts. After the project is successfully launched, they can access the public network for mutual supervision and promotion.

Chapter 14 Course Review and Summary Review the whole course, sort out the development process, review the important and difficult knowledge in the course. Summarize the experience, put forward the functions that can be further improved in the project, such as using Django cache optimization, and give the implementation ideas, let students take the initiative to think and explore. (To obtain detailed project catalog and video tutorial, please deduct eight four zero, six three two seven s)