最近、XForms ( W3C 1.1、ODK XForms ) に出くわしましたが、それらがどのように使用されているか (まだ使用されている場合) を確認するのに苦労しています。
SOタグページには次のように書かれています:
XForms は、XML データのデータ処理モデルとユーザー インターフェイスを指定する XML 形式です。例えば。ウェブフォーム。
今、私は W3C の例を見ましたが、どのような種類のユーザー インターフェイスも見当たりません。そこに表示されるのは単なる XML です。
私がやること
Web でフォームを作成したい場合は、フロントエンドとバックエンドの両方で作業する必要があります。フロントエンドは<form> / <input> /
、スタイル設定のために HTML 要素と CSS を使用して直接記述するか、 flask-wtfなどのパッケージを使用してそれらを生成します。
バックエンドは、GET / POST HTTP リクエストをリッスンしてフォームを受信します。
質問
初歩的な質問が多いです。私の主な質問は、XForms はどのように使用されますか? . 最小限の Python の例は、私にとって最も価値があります。登録フォームのような単純なものかもしれません。ユーザー名フィールド、パスワード フィールド、パスワード確認フィールドでこれを示すことができます。
次のような HTML を作成します。
<form action="" method="POST">
<label for="username">Username</label>
<input type="text" name="username" id="username" />
<label for="pw">Password</label>
<input type="password" name="pw" id="pw" />
<label for="pw2">Confirmation</label>
<input type="password" name="pw2" id="pw2" />
<input type="submit" />
</form>
Flaskを使用すると、バックエンドは次のようになります。
# Third party modules
from flask import redirect, url_for, render_template
from flask_login import current_user
from flask_wtf import FlaskForm
from wtforms import PasswordField, StringField, SubmitField
# First party modules
from my_db_models import User
class LoginForm(FlaskForm):
email = StringField("Email")
password = PasswordField("Password")
submit = SubmitField("Log In")
@auth.route("/login", methods=["GET", "POST"])
def login():
if current_user.is_authenticated:
return redirect(url_for("main.index"))
form = LoginForm()
if form.validate_on_submit():
user = User.query.filter_by(username=form.username.data).first()
if user is None or not user.check_password(form.password.data):
flash(INVALID_EMAIL_OR_PASSWORD, "error")
return redirect(url_for("auth.login"))
login_user(user, remember=form.remember_me.data)
return redirect(url_for("index"))
return render_template("login.html", form=form)
XForms ではどのように見えるでしょうか? XForms の典型的なユースケースは正確にはどこですか? それらは何に匹敵しますか?XForms は Java でのみ使用されますか? (Python パッケージは見たことはありますが、聞いたことはありません)