我正在使用 Python Django,我有一個非常簡單的表單,由一個按鈕和一個輸入欄位組成。問題是在我提交表單后,由于某種原因,輸入欄位被清除了。那么如何防止它被清除呢?
這是我的python檔案:
def index(request):
# print(f"its me {os.getcwd()}")
txt = request.GET.get("some_txt")
if (request.GET.get('mybtn')):
print(f"THIS IS THE TEXT VALUE: {txt}")
else:
print("Has not been clicked")
return render(request, "main/index.html")
這是 HTML 檔案:
<form action="#" method="get">
{% csrf_token %}
<input type="text" name="some_txt">
<button type="submit" class="btn btn-primary" value="mybtn" name="mybtn">Submit</button>
</form>
uj5u.com熱心網友回復:
您每次都呈現一個新表單,因此如果您想用舊資料填充表單,請將其傳遞給模板:
def index(request):
txt = request.GET.get('some_txt', '')
if (request.GET.get('mybtn')):
print(f'THIS IS THE TEXT VALUE: {txt}')
else:
print('Has not been clicked')
return render(request, 'main/index.html', {'txt': txt})
在表格中,您將其用作值:
<form action="" method="get">
<input type="text" name="some_txt" value="{{ txt }}">
<button type="submit" class="btn btn-primary" value="mybtn" name="mybtn">Submit</button>
</form>
或具有明確的功能:
def index(request):
txt = request.GET.get('some_txt', '')
if request.GET.get('mybtn') == 'mybtn2':
txt = ''
else if request.GET.get('mybtn'):
print(f'THIS IS THE TEXT VALUE: {txt}')
else:
print('Has not been clicked')
return render(request, 'main/index.html', {'txt': txt})
因此,在 HTML 端,我們使用了第二個按鈕:
<form action="" method="get">
<input type="text" name="some_txt" value="{{ txt }}">
<button type="submit" class="btn btn-primary" value="mybtn" name="mybtn">Submit</button>
<button type="submit" class="btn" value="mybtn2" name="mybtn">Reset</button>
</form>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/428756.html
