Передача данных из javascript в представление на python в Django с помощью ajax и сохранение их в базе данных

Я создал раздел отзывов, где пользователь вводит свои отзывы, а затем они сохраняются в базе данных. Моя проблема заключается в ajax секции, я хочу, чтобы при нажатии на кнопку отправки данные, которые хранятся в переменной JavaScript, передавались в python представление в Django с помощью ajax и обновлялись в MySQl.

Html код обзора

<section>
      <div class="modal hidden">
        <button class="exit">&times;</button>
        <div class="reviewer-detail">
        <img class="review_img" src="{% static 'Images/Farmer3.jpg' %}">
        <p class="review_name">Name:<span class="rn">Abhiraj Yadav</span></p>
        </div>
        <textarea
            type="text"
            placeholder="Enetr your review..."
            class="review_input"
        ></textarea>
        <button class="review_submit">Submit</button>
      </div>
    </section>
    <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>

Код на стороне JavaScript

const submitReview=document.querySelector(".review_submit")

submitReview.addEventListener("click",function(e){
e.preventDefault()
const input=inputReview.value;
console.log(input) 
$.ajax({
url:'http://localhost:8000/FarmaHome/review',
type:"GET",
headers:{
'X-CSRF-TOKEN':$('meta[name="csrf-token"]').attr('content')
},
data:{'userInput':input},
success:function(){
alert(`Thankyou ${user_data.name}`);
}
})

});

url section

from django.urls import path, include
from .import views
urlpatterns = [
    path('', views.home),
    path('your-orders/', views.customerOrder),
    path('',include('django.contrib.auth.urls')),
    path('userlogin/', views.userLogin),
    path('register/', views.register),
    path('pesticide/',views.pesticide),
    path('fertilizers/',views.fertilizers),
    path('review/',views.review),
]

Python view

def review(request):
    mydb = mysql.connector.connect(host="localhost", user="root", password="windows10", database="farmaproduct")
    curr = mydb.cursor()
    sql = "select * from efarma_customer"
    curr.execute(sql)
    input = request.GET.get("userInput")
    try:
        curr.execute(f"update efarma_customer set review={input} where link_id={user_id}");
    except:
        mydb.rollback()
    mydb.close()
    return render(request, 'efarma/home.html', {'input': input})

Любая помощь была бы признательна, спасибо заранее.

Вернуться на верх