# from django.shortcuts import render # import numpy as np # import joblib # # Load your model # model = joblib.load('predictor/model.joblib') # Adjust path if needed # def predict_view(request): # prediction = None # if request.method == 'POST': # rainfall = float(request.POST.get('rainfall')) # river = float(request.POST.get('river')) # input_data = np.array([[rainfall, river]]) # result = model.predict(input_data) # prediction = result[0] # return render(request, 'predictor_form.html', {'prediction': prediction}) # #This is to test # from django.http import HttpResponse # def home(request): # return HttpResponse("Hello, this is your predictor app homepage!") # predictor/views.py import joblib from django.shortcuts import render from .forms import PredictionForm # Load model once globally (adjust path if needed) model = joblib.load('predictor/model.joblib') def predict_view(request): predicted_value = None if request.method == 'POST': form = PredictionForm(request.POST) if form.is_valid(): rainfall = form.cleaned_data['rainfall'] river_level = form.cleaned_data['river_level'] # Make prediction using model predicted_value = model.predict([[rainfall, river_level]])[0] flood_status = 'high' if predicted_value > 0.6 else 'low' else: form = PredictionForm() return render(request, 'predictor/predict.html', { 'form': form, 'predicted_value': predicted_value, })