我有一个HTML文件,其网页设计只有一个表单,供用户输入他的名字。我想为每次提交创建一个六项数组(稍后将在另一页上填充信息)
Django是否适合用于此目的?我想将html设计文件和python后端处理作为单独的文件。如果是这样,有人能指出我想要整合HTML和处理HTML提交表单的底层python代码的好地方吗?
答案 0 :(得分:7)
Django对此可能有点过头了。如果您想要的只是将表单链接到某些后端Python代码的方法,那么像Flask这样的微框架可能是更好的选择。
以下是使用Flask执行简单表单的方法:
创建目录project
并在其中创建目录templates
您的模板很简单:
{% if name %}
Hello {{ name }}
{% endif %}
<form method="POST">
<input type="text" name="name" value="Enter your name">
<input type="submit">
</form>
将其保存为index.html
子目录中的templates
。
在go.py
目录中创建一个名为project
的文件,然后在其中复制并粘贴:
from flask import Flask
from flask import render_template
from flask import request
app = Flask(__name__)
@app.route('/',methods=['POST','GET'])
def process_form():
if request.method == 'POST':
form_input = request.form['name']
return render_template('index.html',name=form_input)
else:
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
最后从project
目录中输入:
python go.py
打开浏览器并转到http://localhost:5000/
答案 1 :(得分:2)
答案 2 :(得分:1)
Django提供了一个模板系统(其中演示文件与业务逻辑分开,整个系统高度分离)。模板语言在现有文本文件的顶部是简单(但非常强大)的文本替换。您可以使用HTML(全部或部分),文本,XML,JSON或几乎任何其他基于文本的格式的Django模板。
Django还允许你挂钩到另一个模板系统,但我不知道它是如何工作的。
查看Django template documentation了解更多信息。