у меня есть представление, которое включает GET и POST, но до того, как произошел метод POST Get,
, и это мое представление
def addNewNameInfo(request):
qs = NameList.objects.values_list('name',flat=True)
add_new_name_info =ListInfoForm()
if request.is_ajax():
names = request.GET.get('name')
if names:
lists = NameList.objects.get(name=names)
if request.method == 'POST':
add_new_name_info = ListInfoForm(request.POST)
if add_new_name_info .is_valid():
obj = add_new_name_info .save(commit=False)
obj.admin = request.user
obj.name= name_info.name
obj.save()
messages.success(request,'created')
return render(request,'myfolder/my_template.html',{'names':qs,'name_info':name_info,'add_new_name_info':add_new_name_info })
<form method='GET' class="ajax-request" data-url='/my/url/'>
<select name="name" class="form-control" id="type">
<option selected="true" disabled="disabled">names</option>
{% for value in names %}
<option value="{{value}}">{{ value }}</option>
{% endfor %}
</select>
<button type="submit">search</button>
</form>
<!--then -->
<!--return some information about the selected name -->
мне нужно ajax запрос только для первой формы
<script>
$(document).ready(function(){
var $myForm = $('.ajax-request');
$myForm.submit(function(event){
event.preventDefault();
var $formData = $myForm.serialize();
var $thisUrl = $myForm.attr('data-url') || window.location.href;
$.ajax({
method:'GET',
url:$thisUrl,
data:$myForm,
success: handleSuccess,
error: handleError,
});
function handleSuccess(data){
console.log(data);
}
function handleError(ThrowError){
console.log(ThrowError);
}
});
});
</script>
my urls.py
path('my/url', views.addNewNameInfo,name='add-new-info'),
я что-то пропустил или делаю что-то не так?
но это не работает и его код status: 404
? я очень ценю вашу помощь