我的视图函数应该接收一个参数:
def result(request, exercise_field = {"tro": "lolo"}):
return render(request, "lolapp/result.html", exercise_field)
" Exercise_field"是一个带参数的变量。
该功能的网址:
url(r'^result/', view = views.result, kwargs = {'lolo': 'roflo'}, name = 'result')
正如你所看到的,我试图通过" kwargs"关键词。到目前为止,还没有成功。
调用此视图的快捷方式:
return redirect('result', kwargs={'lol': 'rofl'})
最后是错误信息:
Reverse for 'result' with arguments '()' and keyword arguments '{'kwargs': {'lol': 'rofl'}}' not found. 1 pattern(s) tried: ['result/']
我需要向"结果"发送一个参数。图。
这是典型的#No; NoReverseMatch"错误,但没有互联网解决方案为我工作。
我做错了什么?
答案 0 :(得分:0)
可能只是错字:
kwargs={'lol': 'rofl'}
你应该尝试:
kwargs={'lolo': 'rofl'}
答案 1 :(得分:0)
return redirect('result', kwargs={'lol': 'rofl'})
应该是kwargs:
mydict = {'lol': 'rofl'}
return redirect('result',passdict=mydict)
或者只是你可以使用args:
mydict = {'lol': 'rofl'}
return redirect('result',mydict)
答案 2 :(得分:0)
您的网址根本不接受任何参数:视图kwargs是硬编码的。因此,任何请求 - 无论是重定向还是正常请求 - 都不可能传递除硬编码之外的任何kwargs。
您有多种选择:
答案 3 :(得分:0)
我的问题的解决方案很简单:我应该使用会话。
有关会话的信息:http://machinesaredigging.com/2013/10/29/how-does-a-web-session-work/
如何在Django中使用会话:https://docs.djangoproject.com/en/1.6/topics/http/sessions/
只需将其存储在 request.session [“my_data_key”] 中,我就可以了。
request.session 是一个简单的python词典。