python-3.x - Django 视图没有正确重定向
问题描述
当使用发布请求调用视图功能 - 索引时,它不会重定向。函数内部执行打印。找不到原因。我将 return redirect('/result') 更改为 return HttpResponse("some text") ,但它也不起作用。我使用 Django 1.9.5。
我的代码:
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))
我的 urls.py 代码:
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')
)
解决方案
redirect
接受 url名称而不是路径,使用这个:
return redirect('result')
推荐阅读
- html - 超出弹性项目的图像
- node.js - Elasticsearch NoLivingConnectionsError:使用 Nestjs 的问题
- django - 多个模板上的上下文变量
- ios - OurPact 如何在不监督设备的情况下获得受监督的功能?
- rust - 使用 match 匹配双字母模式
- sqlite - 从行中选择 id,如果不存在则插入它(然后检索 id)
- ms-access - 如何在 MS Access 中制作自动完成或自动过滤框?
- postgresql - 不同版本的 postgresql 中的反斜杠行为
- memory - 如何增加 Oracle 19c DB 使用的内存
- sirikit - SiriKit:在 IntentsDefinition 文件中定义的快捷方式未显示在 macOS 的快捷方式应用程序中?