Я нашел образец ajax для грубых операций.
Вот оригинальный проект
Я добавил поле 'city' в мой модал и получил ошибку
Traceback (most recent call last):
File "C:\Users\Atilgan\AppData\Local\Continuum\anaconda3\lib\site-packages\django\utils\datastructures.py", line 76, in __getitem__
list_ = super().__getitem__(key)
KeyError: 'city'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Atilgan\AppData\Local\Continuum\anaconda3\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
response = get_response(request)
File "C:\Users\Atilgan\AppData\Local\Continuum\anaconda3\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "C:\Users\Atilgan\AppData\Local\Continuum\anaconda3\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\Atilgan\Desktop\Depo\jquery\crud\views.py", line 10, in create
member = Member(firstname=request.POST['firstname'], lastname=request.POST['lastname'], city=request.POST['city'])
File "C:\Users\Atilgan\AppData\Local\Continuum\anaconda3\lib\site-packages\django\utils\datastructures.py", line 78, in __getitem__
raise MultiValueDictKeyError(key)
django.utils.datastructures.MultiValueDictKeyError: 'city'
Вот код:
сценарий создания
$('#create').on('click', function(){
$firstname = $('#firstname').val();
$lastname = $('#lastname').val();
$city = $('#city').val();// i added here
if($firstname == "" || $lastname == ""){
alert("Please complete the required field");
}else{
$.ajax({
url: 'create',
type: 'POST',
data: {
firstname: $firstname,
lastname: $lastname,
lastname: $city, // I added here
csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val()
},
success: function(){
Read();
$('#firstname').val('');
$('#lastname').val('');
$('#city').val(''); // I added here
}
});
}
});
Представления создания
def create(request):
member = Member(firstname=request.POST['firstname'], lastname=request.POST['lastname'], city=request.POST['city']) // I added here city=request.POST['city']
member.save()
return redirect('/')
models.py
class Member(models.Model):
firstname = models.CharField(max_length=40)
lastname = models.CharField(max_length=40)
city= models.CharField(max_length=40) // I added here
def __str__(self):
return self.firstname + " " + self.lastname + " " + self.city // I added here
index. html
{% extends 'crud/base.html' %}
{% block body %}
<form class="form-inline">
{% csrf_token %}
<div class="form-group">
<label>Firstname</label>
<input type="text" id="firstname" class="form-control" style="width:20%;" required="required"/>
<label>Lastname</label>
<input type="text" id="lastname" class="form-control" style="width:20%;" required="required"/>
<label>City</label> // I added here
<input type="text" id="city" class="form-control" style="width:20%;" required="required"/>
<button type="button" id="create" class="btn btn-sm btn-primary">Create</button>
</div>
</form>
<br />
<div id="result">
</div>
{% endblock %}
Извините, но мой Engli sh не в порядке