Llevo días buscando solución a esto pero sigo dando vueltas. Tengo una aplicación de reacción que recibe API de django. Cada parte de la aplicación de reacción y django funciona individualmente. Con cartero puedo probar la cuenta de API para la verificación de correo electrónico y el usuario se verifica. Cuando completo el formulario de registro de la cuenta en Reaccionar y lo envío, se envía al usuario un mensaje de confirmación por correo electrónico. Cuando hago clic en el enlace de activación, aparece el error "Página no encontrada". ¿Cómo redirijo al usuario para que reaccione ya que el enlace de activación del correo electrónico se crea en django y, como tal, tiene un dominio de django y no un dominio de reacción?
React App function App() { return ( <Router> <Header /> <main className="py-3"> <> <Route path='/signup' component={SignUpScreen} /> <Route exact path='/activate/:uid/:token' component={ ActivateAccount} /> </> </main> </Router> ); } Account Activation Component const ActivateAccount = ({ verify, match }) => { const [verified, setVerified] = useState(false); const dispatch = useDispatch() const verify_account = e => { const uid = match.params.uid; const token = match.params.token; dispatch(verify(uid, token)); setVerified(true); }; if (verified) { return <Redirect to='/' /> } return ( <Container className=' auth-container pt-4'> <Form className="auth-form"> <Button className="auth-button btn btn-block w-100" type="submit" onClick={verify_account} > Activate Account </Button> </Form> </Container> ) } export default connect(null, { verify })(ActivateAccount);urls.py
urlpatterns = [ path('admin/', admin.site.urls), path('api/', include('djoser.urls')), path('api/', include('djoser.urls.jwt')), path('api/', include('accounts.urls')), ]configuración.py
DJOSER = { 'SEND_CONFIRMATION_EMAIL': True, 'USER_CREATE_PASSWORD_RETYPE': True, 'LOGIN_FIELD': 'email', 'SET_USERNAME_RETYPE': True, 'SET_PASSWORD_RETYPE': True, 'ACTIVATION_URL': 'activate/{uid}/{token}', 'SEND_ACTIVATION_EMAIL': True, 'SERIALIZERS': { 'user_create': 'accounts.serializers.UserCreateSerializer', 'user': 'accounts.serializers.UserCreateSerializer', 'current_user': 'accounts.serializers.UserCreateSerializer', } }Por favor, cualquier ayuda sobre cómo puedo lograr esto es muy apreciada.
Me parece que su mejor opción es hacer que la URL de activación generada apunte a su dominio de React, tener la información necesaria codificada en un parámetro de consulta de URL y luego llamar al punto final /activate desde su aplicación React.