When view function - index is called with post request it doesn't redirect. Print inside the function executes. Can't find reason. I changed return redirect('/result') to return HttpResponse("some text") and it does not work either. I use Django 1.9.5.
My code:
data = {"number" : 0}
@csrf_exempt
def result(request):
global data
response = "solution: " + str(data['number'])
return HttpResponse(response)
@csrf_exempt
def index(request):
global data
if request.method == 'POST':
uploadFile1 = request.FILES['file1']
uploadFile2 = request.FILES['file2']
text1 = ''
text2 = ''
with open('file1', 'wb+') as file1:
text1 = uploadFile1.read()
with open('file1', 'wb+') as file2:
text2 = uploadFile2.read()
data = calcpy.views.getNumber(str(text1), str(text2))
print('test') #this executes
return redirect("/result")
template = loader.get_template('main.html')
context = {'solution' : 0}
return HttpResponse(template.render(context))
My urls.py code:
from django.conf.urls import patterns, include, url
from . import views
import version.models
web_srv_prefix = version.models.getWebSrvPrefix()
urlpatterns = patterns('',
url(r'^' + web_srv_prefix + '/ajax/(?P<module>\w+)/(?P<function>\w+)/', views.ajax, name='ajax'),
url(r'^$', views.index, name='index'),
url(r'^result/$', views.result, name='result')
)