我想為多個輸入元素添加一個 value 屬性。目前,我只是使用一個有效但很麻煩的替換。有沒有辦法通過其 ID 屬性查找元素并簡單地添加一個值屬性?
page = render_template('template.html')
page = page.replace('<input type="text" class="form-control" id="Company" name="Company" placeholder="Company name" data-bs-toggle="tooltip" title="The name of the company that the document is for." onblur="titleCase(this)">',
'<input type="text" class="form-control" id="Company" name="Company" placeholder="Company name" data-bs-toggle="tooltip" title="The name of the company that the document is for." onblur="titleCase(this)" value="' company '">')
有沒有辦法在不使事情過于復雜的情況下做到這一點?
編輯:我在 lxml.html 檔案中找到了一個例子,鼓勵我這樣做:
def fillForm1(page, pDate, company, manager, cAddress, cPhone, cEmail ,sAddress):
form_page = fromstring(page)
form = form_page.forms[0]
form.fields = dict(
pDate=pDate,
Company=company,
Manager=manager,
cAddress=cAddress,
cPhone=cPhone,
cEmail=cEmail,
sAddress=sAddress
)
page = page.replace('<form method="post">', tostring(form, pretty_print=True, encoding='UTF-8', with_tail=False,))
return page
但是當它應該是一個字串時,我不斷收到關于將位元組傳回的錯誤。
uj5u.com熱心網友回復:
由于您正在使用,render_template您可以簡單地使用Jinja
Jinja 可以幫助您安全地在 html 頁面中的任何位置呈現資料,無需安裝任何東西,因為該render_template方法已經使用了它。
您需要在 html 檔案中指定一個類似占位符的東西,然后將一個值作為關鍵字傳遞給它 render_template
你需要把它放在你的 HTML 檔案中
<input value="{{company}}" type="text" class="form-control" id="Company" name="Company" placeholder="Company name" data-bs-toggle="tooltip" title="The name of the company that the document is for." onblur="titleCase(this)" >
現在 Jinja 將搜索名為 company 的關鍵字(來自您傳遞的關鍵字),并將其值替換為 pf
{{company}}
將值傳遞給 Jinja 只需在你的 python 代碼中使用這一行
company_value = "Some Value"
page = render_template('template.html', company=company_value)
現在,當 Jinja 看到{{company}}它時,它將用傳遞的值替換它,即company_value = "Some Value"
請注意,您可以根據需要傳遞盡可能多的值
Jinja 有更多功能可以幫助您呈現資料,例如:
- 回圈
- if else 陳述句
- 還有更多
查看此檔案以快速查看Jinja
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/391079.html
下一篇:Flask-表單資料沒有?
