私はWeb開発で新規です。 送信ボタン付きの簡単な作成/編集ユーザーフォームを実装しようとしています。Web APIとレンダリングテンプレートは、同じ関数呼び出しで呼び出す必要がありますか?
これを実装する方が良い方法を知りたいと思います。
I持っすでにウェブAPIのこの種を定義
URL Method Description
/users/ GET Gives a list of all users
/users/ POST Creates a new user
/users/<id> GET Shows a single user
/users/<id> PUT Updates a single user
/users/<id> DELETE Deletes a single user
私の最初のアプローチ:
私は、2つの新しい "/ユーザー/追加" と "は/ usr /編集" 機能を作成し、 これは、上記の内部api/users /、method = PUT、012を呼び出すと、
app.route("https://stackoverflow.com/users/edit")
def edit_user(){
....
....
call the internal api /user/ with a "put" method
....
render_template("edit.html")
となります。最終的なテンプレートをレンダリングします。
私の第二のアプローチ:私の内部API /ユーザー/中
、私はHTMLテンプレートまたはJSONテキストをしたいかどうかを確認するためにHTTPヘッダを読み、ユーザー
言って戻って戻ろう私が代わりに/ユーザー/編集を呼び出すので、編集フォームを作成したいとき
def put(self, id):
//see the header of that request
if header == html
render_template("edit.html", .....)
if header == json
update the record
#
私の質問、基本的に、私はKNていない、再び、私はPUTメソッドで、/ユーザー/呼び出し"/ user/add" "/ user/edit"ルートがフォームを作るために必要な場合や、異なる "post"や "put"メソッドを使って/ user/apiに単純に埋め込むことができます。
アイデアは、flaskから、ここから、プラグイン可能なビュー、私はより良い実装に
を作る方法を疑問に思っているか、その、それを行うには良い方法です?
ありがとうございます。
これまでにこのようなことを実装しましたか?いくつかの経験を共有できますか? –
Nope。私はバリデーションでフラスコ重量のフォームを作成します。このフォームの送信時に、フラスコテストクライアントまたはリクエストのPythonモジュールを使用して、新しいhttpリクエストを介して内部apiにデータを送信することができます。 – Jarus