所以我的模板中有这个简单的按钮:
<form method="get">
<input type="text" value="8" name="mytextbox" size="1" />
<input type="submit" class="btn" value="Click" name="print_btn">
</form>
在我的views.py中,我有这个功能:
def print_from_button(request):
if(request.GET.get('print_btn')):
print( int(request.GET.get('mytextbox')) )
print('Button clicked')
打印到控制台:
“GET / myview / mytextbox = 8&amp; print_btn = Click HTTP 1.1”200
我还希望在终端上打印' Button clicked ',即我希望执行函数 print_from_button ,而不是函数中的一个语句。
编辑:
正如在评论中所建议的,我添加了一个返回,并更改了模板:
<form method="get">
<input type="submit" class="btn" value="Click" name="print_btn">
</form>
添加了新功能:
def hello():
print('Hello!')
并返回我的目标函数
def print_from_button(request):
if(request.GET.get('print_btn')):
hello()
print('Button clicked')
return render(request, 'new/click.html',{'value':'Button clicked'})
但它打印相同:
“GET / myview / mytextbox = 8&amp; print_btn = Click HTTP 1.1”200
解决: 我忘了在urls.py中添加 print_from_button 功能。
感谢所有贡献的人。
答案 0 :(得分:-1)
如果你想要渲染一些东西,必须返回渲染 -
return render(request, 'your-template.html',{})
,所以它将是
from django.shortcuts import render
def print_from_button(request):
if(request.GET.get('print_btn')):
print( int(request.GET.get('mytextbox')) )
print('Button clicked')
return render(request, 'your-template.html',{'value':'Button clicked'})
然后在客户端 - 在检查员控制台或您使用的任何工具中,您将看到按钮点击了&#39;在value
中设置。
确保为Django项目配置的templates目录中存在your-template.html
(或您喜欢的任何名称)。