我在通过 url 将值传递到我的 View 时遇到了一些困难。
到目前为止,我已经成功地运行了我的 View ,没有任何问题。
view.py(画图):
def draw(request)
....
....
return HttpResponse (buffer.getvalue(), content_type="Image/png")
但是我需要我的 View 来接受用户的输入,所以我编辑了它并添加了一个额外的参数:
def draw(request, loan_amount)
loanAmount = loan_amount
.....
用户输入从表单传递到另一个 View :
def search_member(request):
loanAmount = request.GET.get('desired_loan')
return render(request, 'blog/search_member.html', {'loanAmount':loanAmount)
在我的模板中,我将用户输入插入绘图的参数中:
<img src="http://test.com/graph/{{ loanAmount }}">
这是假设根据用户输入绘制图像,但我根本没有得到任何图像。
如果我删除参数,图像就可以正常工作。我假设我在参数设置上做错了,很可能是在模板或 url 中:
url(r'^graph/(?P<desired_loan>\d+)/$', views.draw, name='draw'),
我已经测试了 View 、表单和其他一切,它们都有效。我怎样才能缩小这个问题的范围以找到解决方案?
任何指导/帮助将不胜感激,
谢谢,
<form method="GET" action="/search_member/" class="navbar-form pull-left">
<input type="number" step = "any" id="searchBox" class="input-medium search-query" name="desired_loan" placeholder="Desired Loan"><br>
<input type="number" step = "any" id="searchBox" class="input-medium search-query" name="repayment_time" placeholder="Payment Time"><br>
<input type="submit" class="btn" value="Draw Graph" >
</form><br>
<img src="http://test.com/graph/{{ loanAmount }}">
屏幕截图:
请您参考如下方法:
喜欢的网址
url(r'^graph/(?P<desired_loan>\d+)/$', views.draw, name='draw'),
将您的 View 更改为:
def draw(request, *args, **kwargs):
loanAmount = kwargs['desired_loan']
.....
然后修改模板:
<img src="{% url 'graph' loanAmount %}">
