我是Django的新手并且上周开始学习它。我的问题是我有一个网页,其中有一个输入文本框和一个提交按钮。 我想捕获在Django中按下提交按钮后在文本框中输入的下一个网页(重定向页面)中输入的输入字符串。
我尝试了以下内容:
views.py
#View for the initial page
def index(request):
return render( request, 'index.html')
#View for the Redirecting page -- This is where I want to catch the text box input
def results(request):
inp_value = request.GET.get('text_search', 'This is a default value')
context = {'inp_value': inp_value}
return render( request, 'results.html', context)
forms.py
from django import forms
class TextForm(forms.Form):
text_search = forms.CharField(label='Text Search', max_length=100)
的index.html
<form action="/searcher/results/" method="get">
<label for="results">Enter a string: </label>
<input id="results" type="text" name="results" value="{{ search_results }}">
<input type="submit" value="submit">
</form>
有人能指出为什么我无法获得文本框的价值吗?
先谢谢
答案 0 :(得分:0)
request.GET
键是输入的名称。因此,在您的情况下,由于您需要<input type="text" name="results">
的值,因此您应该从request.GET.get('results')
获取该值。
但是,还有一个{{ search_results }}
值无法从index
视图中呈现。因此,它将始终为空。
def results(request):
inp_value = request.GET.get('results', 'This is a default value')
context = {'inp_value': inp_value}
return render( request, 'results.html', context)