別のPythonファイルから関数を呼び出そうとしています。私はその機能をインポートしました。関数を外部的に呼び出すと、期待通りに機能します。外部Pythonファイルから関数を呼び出すと500のエラーが発生する
しかし、render_templateまたはリダイレクトを返す前に関数を呼び出そうとすると、500エラーが発生します。 私は何か間違っていることを知っていますが、私は何がわかりません。どのような助けも高く評価されます。
from flask import Flask, render_template, request, redirect, url_for
from content_man import Content,Page_Content
from url_trigger import trigger
TEST_TOPIC = Content()
PAGE_TOPIC = Page_Content()
app = Flask(__name__)
@app.route('/',methods=["GET","POST"])
def homepage():
return render_template("main.html")
@app.route('/dashboard/',methods=["GET","POST"])
def dashboard():
return render_template("dashboard.html", TEST_TOPIC=TEST_TOPIC)
@app.route('/test/', methods=["GET","POST"])
def test():
if request.method == "POST":
selected_list = request.form.getlist("to_run")
print (selected_list)
return redirect(url_for('trigger',selected_list=selected_list))
else:
return render_template("test.html", PAGE_TOPIC=PAGE_TOPIC)
@app.route('/trigger/', methods=["GET","POST"])
def trigger():
data = request.args.getlist('selected_list')
t = trigger(data)
return "hey"
if __name__ == "__main__":
app.run()
エラーが@ app.routeである( '/トリガ/'、メソッド= [ "GET"、 "POST"])私は、関数、トリガーを呼び出すしようとしています。
マイurl_triggerパイソンファイルは単純な定義の下に含まれています。あなたはtrigger
という名前の関数をインポートしていますが、また定義
<div class="container">
<form method="post" action = "{{ url_for('test') }}">
{% for row_index in range(PAGE_TOPIC['Critical BP']|count) %}
<div class="checkbox">
<label><input type="checkbox" name="to_run" value="{{ PAGE_TOPIC['Critical BP'][row_index] }}">{{ PAGE_TOPIC['Critical BP'][row_index] }}</label>
</div>
{% endfor %}
<div>
<label><input type="submit" /></label>
</div>
</form>
</div>
完全なスタックトレースを表示します。 –
こんにちはSergey、以下はトレースバックです:トレースバック(最近の最後のコール): ファイル "C:/ Flask_Web/__ init__.py"、トリガー内の37行目 t = trigger(data) TypeError:trigger位置的な引数が1つは – Saurav