my_module.py にアプリがあり、posts/ にリクエスト ハンドラーがあります。投稿の内部には、いくつかの異なる python ファイルがあります。
私のアプリの構造は次のようになります。
./
my_module.py
posts/
__init__.py
post1.py
post2.py
post3.py
したがって、post1、post2、および post3 には、追加と削除の 2 つの関数があります。
my_module では、post1-3 を次のようにインポートします。
import posts.post1
import posts.post2
import posts.post3
my_module に、次のように view_functions として add および delete 関数を指すルートがあります。
app.add_url_rule('/post1_add', methods=['POST'], view_func=posts.post1.add)
app.add_url_rule('/post1_delete', methods=['POST'], view_func=posts.post1.delete)
app.add_url_rule('/post2_add', methods=['POST'], view_func=posts.post2.add)
app.add_url_rule('/post2_delete', methods=['POST'], view_func=posts.post2.delete)
app.add_url_rule('/post3_add', methods=['POST'], view_func=posts.post3.add)
app.add_url_rule('/post3_delete', methods=['POST'], view_func=posts.post3.delete)
なんらかの理由で、上記で追加した URL のいずれかに投稿要求を行うと、それらはすべて、最後に追加された URL のメンバーに対して要求を行うことを示しています。この場合、posts.post3 です。
のようにメンバー関数名を一意に変更するとpost1_add
、アプリは view_function を使用して正しく要求を行います。
これは何が原因ですか?