Я кодирую веб-приложение Django только с одной страницей.Эта страница содержит форму с некоторыми входными данными.Когда я нажимаю кнопку отправки, я выполняю ajax-вызов функции в python.Я хочу получить некоторые данные из этой функции.
HTML-файл:
<form id="strategy" method="post" class="edit_user">
{% csrf_token %}
<div class="sel-schedule">
<label>Label: </label>
<input id="start_time" type="time" name="start_time" value="09:30" required>
</div>
<button type="submit" class="inactive boton-lanzar">Launch</button>
</form>
JS-файл :
$('#strategy').on('submit', function(event){
var start_time = document.getElementsByName("start_time")[0].value;
var url = '/method_calculation/';
$.ajax(url, {
data: {
'start_time': start_time,
},
dataType: 'json',
success: function (data) {
console.log("new")
}
})
});
Файл URL:
urlpatterns = [
path('admin/', admin.site.urls),
path('', home, name='home'),
path('method_calculation/', method_calculation, name="method_calculation"),
]
Просмотр файла:
def home(request):
if request.method == "GET":
return render(request, 'index.html')
else:
return HttpResponse("OK")
def method_calculation(request):
if request.method == 'POST':
start_time_hour = int(request.POST.get('start_time')[0:2])
start_time_minute = int(request.POST.get('start_time')[3:5])
data_comparison = caculate_summit(start_time_hour, start_time_minute)
args = {data_comparison}
return JsonResponse(args)
Я немного запутался.
Во-первых, я не хочу, чтобы страница перезагружалась, но если я извлекаю возвращаемый HttpResponse, он говорит, что он ему нужен.
Во-вторых, с текущими файлами я получаю следующую ошибку:
The view myapp.views.method_calculation didn't return an HttpResponse object. It returned None instead.
Чего мне не хватает?
Большое спасибо