【问题标题】:How do you integrate HTML with Django?如何将 HTML 与 Django 集成?
【发布时间】:2011-12-29 04:43:15
【问题描述】:

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

Django 是否适合用于此目的?我想将 html 设计文件和 python 后端处理作为单独的文件。如果是这样,任何人都可以向我指出一个阅读有关集成 HTML 和处理 HTML 提交表单的底层 python 代码的好地方吗?

【问题讨论】:

  • Django 并不是一个真正的“实用程序”,因为您将它放在 HTML 页面和 Python 脚本之间,以便在十分钟内将它们绑定在一起。
  • 我不知道该怎么称呼它。谢谢!

标签: python html css django


【解决方案1】:

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>

templates 子目录中将其另存为index.html

project 目录中创建一个名为go.py 的文件,然后在其中复制并粘贴以下内容:

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/

【讨论】:

    【解决方案2】:

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

    如果这是你第一次使用 django,你可以去看看official Django book

    【讨论】:

    • 为了保持最新,官方的 Django 书籍已经过时了,第一次使用 Django 的用户应该从Django tutorial开始
    【解决方案3】:

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

    Django 还允许您连接到另一个模板系统,但我不太了解它是如何工作的。

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

    【讨论】:

      猜你喜欢
      • 2022-09-28
      • 2019-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-19
      • 1970-01-01
      • 2017-02-11
      • 2010-11-29
      相关资源
      最近更新 更多