Me he encontrado con un pequeño contratiempo aquí.
Tengo un script que obtiene la dirección de la billetera Metamask del usuario que funciona bien. El problema surge cuando necesito guardar esa dirección de billetera en el modelo de usuario en este campo:
ethereum_address = models.CharField(max_length=42, blank=True, null=True)Tengo un Javascript que recupera la billetera cuando se presiona el botón Conectar:
function connect() { ethereum .request({ method: 'eth_requestAccounts' }) .then((account)=> saveAccount(account)) .catch((error) => { if (error.code === 4001) { // EIP-1193 userRejectedRequest error console.log('Please connect to MetaMask.'); } else { console.error(error); } }); } function saveAccount(account) { console.log(account); $.ajax({ url: '/connect-metamask/', type: 'POST', data: { 'account': account, 'csrfmiddlewaretoken': '{{ csrf_token }}' }, }); }En views.py tengo esto cuando tengo una solicitud POST:
def connect_metamask(request): user = request.user if request.method == "POST": user.ethereum_address = request.POST.get("account") user.save() .........Pero cuando miro la base de datos, ethereum_address es Null.
¿Cómo hago que esto funcione?