从python中的对象创建窗体

2024-06-01 00:00:40 发布

您现在位置:Python中文网/ 问答频道 /正文

好的。。我不懂Python,但经常使用PHP。

基本上,我想知道如何获取一个对象——例如:

{key:value,key:value}

或者

{key:[value,value,value],key2:value2}

把它们变成形式:

<input name="key" value="value">
<input name="key" value="value">

以及

<input name="key[]" value="value">
<input name="key[]" value="value">
<input name="key[]" value="value">
<input name="key2" value="value2">

Tags: 对象keynameinputvalue形式phpkey2
3条回答

如果您使用forms作为网站,我建议您使用wtf,这里是与Flask集成的链接

WTF站点=>;http://wtforms.simplecodes.com/docs/0.6/

你可以有一个具有html结构的模板。 然后您可以将键和值替换为实际值。

template = '<input name="#key#" value="#value#">'
html = template
data = {key:value,key:value}
for key in data.keys():
    html = html.replace("#key#", key).replace("#value#", data[value]) + "\n"
    html = html + template
#there's an extra template line here that you'll have to get rid of.
html = "\n".join(html.split("\n")[0:-1])

类似的第二个例子。

在Python中,有很多处理表单创建和验证的选项。如果您使用的是Django,it has form building and validation built-in。如果你正在构建一个独立的工具,你有WTFormsz3c.formdeform。。。这只是一个简短的清单。

如果您来自PHP背景,请注意以下几点:

  1. Python不是一种模板语言,它是一种通用语言。开发PHP的首要目的是使创建动态web页面变得容易,因此将PHP嵌入HTML并随时调用它是非常容易的。Python并不能使在一个文件中把所有的东西放在一起变得那么容易(尽管您可以只使用多行字符串、连接和.format来做一些令人印象深刻的事情)。你会想查看一个模板库-看看Jinja2、Mako、Breve或Chameleon,然后选择一个对你来说最直观的。

  2. 如果计划为单个名称返回多个值,则不需要在HTML中使用I_am_an_array[]构造。您使用的任何库(including the built-in one)都支持为单个名称接收多个值,并将适当地处理这些值。

相关问题 更多 >