使用Django提交后,如何保持HTML形式数据?
我在 html
中创建了一个表单,该表单每次提交时都会将数据返回到 django
。但是,在提交后重新加载页面时,以表格输入的数据将丢失。为了解决这个问题,我从 a>然后我修改了我的 views.py
文件:
def search(request):
if request.method == 'POST':
search = request.POST['search']
form = MyForm(request.POST)
max_pages_to_scrap = 15
final_result = []
for page_num in range(1, max_pages_to_scrap+1):
url = "https://www.ask.com/web?q=" + search + "&qo=pagination&page=" + str(page_num)
res = requests.get(url)
soup = bs(res.text, 'lxml')
result_listings = soup.find_all('div', {'class': 'PartialSearchResults-item'})
for result in result_listings:
result_title = result.find(class_='PartialSearchResults-item-title').text
result_url = result.find('a').get('href')
result_desc = result.find(class_='PartialSearchResults-item-abstract').text
final_result.append((result_title, result_url, result_desc))
context = {'final_result': final_result}
form = MyForm()
return render(request, 'index.html', context,{'form':form})
我在 models.py.py
文件中写下了以下代码:
from django import forms
from django.db import models
# Create your models here.
class MyForm(forms.Form):
search = forms.CharField(max_length=500)
这是我的 index.html的内容
文件:
<form method="POST" action="search">
{% csrf_token %}
<input type="search" name="search" placeholder="Search here..." value="{{form.search.value}}" autofocus x-webkit-speech/>
</form>
尽管进行了修改,但提交后仍未保留表单数据。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它不能保存,因为您将全新的形式传递给上下文:
只需将
form = myform()
移动到elif request.method =='get':
::PS将
表格
与您的上下文保持更加清晰。It cannot be saved, because you are passing brand new form to context:
Just move
form = MyForm()
to something likeelif request.method == 'GET':
:PS Keep
form
with your context, it's way clearer.