如何将HTML与Django集成?

时间:2011-12-27 21:58:46

标签: python html css django

我有一个HTML文件,其网页设计只有一个表单,供用户输入他的名字。我想为每次提交创建一个六项数组(稍后将在另一页上填充信息)

Django是否适合用于此目的?我想将html设计文件和python后端处理作为单独的文件。如果是这样,有人能指出我想要整合HTML和处理HTML提交表单的底层python代码的好地方吗?

3 个答案:

答案 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)

您可以在Django中创建html form,但您可能需要将表单转换为template

如果您第一次使用django,可以查看official Django书

答案 2 :(得分:1)

Django提供了一个模板系统(其中演示文件与业务逻辑分开,整个系统高度分离)。模板语言在现有文本文件的顶部是简单(但非常强大)的文本替换。您可以使用HTML(全部或部分),文本,XML,JSON或几乎任何其他基于文本的格式的Django模板。

Django还允许你挂钩到另一个模板系统,但我不知道它是如何工作的。

查看Django template documentation了解更多信息。