The real question here is: "What is the best way to deploy a decentralized application with a React front-end."
Building a decentralized application and integrating things such as Metamask require you to write smart contracts. This process is language agnostic as long as the smart contract is written and deployed to the chosen blockchain correctly.
Using classic Full-Stack HTTP Application frameworks like Django will no longer work because when we create something with Django, the server is centralized, defeating the purpose of the Blockchain architecture.
That being said, now the question is, what programming language do you want to use to deploy this decentralized application? - https://eth-brownie.readthedocs.io/en/stable/ - is a Python framework for writing smart contracts.
As you have already learned and built with React, you might be better off sticking with the same runtime. NodeJS does have frameworks for deploying decentralized applications called the truffle suite: https://trufflesuite.com/.
This is a whole set of tools for writing decentralized applications using JavaScript and TypeScript.
Hope this helps.