Wie behebe ich den HTTP 405-Fehler in Django beim Senden einer POST-Anfrage?Python

Python-Programme
Guest
 Wie behebe ich den HTTP 405-Fehler in Django beim Senden einer POST-Anfrage?

Post by Guest »

Das Problem tritt auf, wenn ich das Formular absende. Trotz der Verwendung einer POST-Methode im HTML-Formular und der Sicherstellung, dass meine Ansicht POST-Anfragen korrekt verarbeitet, erhalte ich einen HTTP-405-Fehler.
Ich kann nicht herausfinden, warum Django meine POST-Anfrage ablehnt, obwohl meine Ansicht dies tut dekoriert mit @require_POST und @login_required.
views.py
@login_required
@require_POST # Ensures that the view only handles POST requests
def deposit_view(request):
allowed_methods = ['POST'] # List of allowed HTTP methods

# Check if the method is allowed
if request.method not in allowed_methods:
return JsonResponse({'error': f"Invalid request method. Expected {', '.join(allowed_methods)}."}, status=405)

# Handle POST requests
if request.method == 'POST':
deposit_type = request.POST.get('deposit_type')
amount = request.POST.get('amount')
currency = request.POST.get('currency')

if deposit_type == 'crypto':
# Generate a random crypto address (as a placeholder example)
crypto_address = ''.join(random.choices(string.ascii_uppercase + string.digits, k=42))
return JsonResponse({'crypto_address': crypto_address, 'amount': amount})
elif deposit_type == 'fiat':
return JsonResponse({'message': 'Fiat deposit initiated successfully'})
else:
return JsonResponse({'error': 'Invalid deposit type'}, status=400)

deposit.html
Django-Formularübermittlung führt zu HTTP 405, aber POST ist korrekt definiert{% extends 'base.html' %}

{% block content %}

Deposit Funds

{% csrf_token %}


Deposit Type:

Cryptocurrency
Fiat


Amount:





Currency:

USD
EUR






Generate Crypto Address



Submit Deposit







{% endblock %}


Ich bin wirklich müde. Ich habe alles versucht, was ich weiß, um das Problem der Änderung der POST-Methode in GET zu lösen, aber jede Lösung, die ich gefunden habe, funktioniert nicht.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post