Передача данных из javascript в представление на python в Django с помощью ajax и сохранение их в базе данных
Я создал раздел отзывов, где пользователь вводит свои отзывы, а затем они сохраняются в базе данных. Моя проблема заключается в ajax секции, я хочу, чтобы при нажатии на кнопку отправки данные, которые хранятся в переменной JavaScript, передавались в python представление в Django с помощью ajax и обновлялись в MySQl.
Html код обзора
<section>
<div class="modal hidden">
<button class="exit">×</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})
Любая помощь была бы признательна, спасибо заранее.