我第一次使用Flask。下面的__init__.py
工作正常:
Python v3.10.6
#!/usr/bin/env python3
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/testurl')
def testurl():
return render_template('index.html')
@app.route('/from_client', methods=['POST'])
def from_client():
request_data = request.get_json()
return request_data
if __name__ == '__main__':
app.run()
我使用以下文件夹:
flaskApp
---- flaskApp
---- __init__.py
---- modules
---- mymodules.py
---- static
---- css
---- img
---- js
---- templates
---- index.html
---- flaskapp.wsgi
但是当我试图改变__init__.py
从模块文件夹导入mymodules时,我得到了“500内部服务器错误”。
使用的代码:
#!/usr/bin/env python3
from flask import Flask, render_template, request
from modules import mymodules
app = Flask(__name__)
@app.route('/testurl')
def testurl():
return render_template('index.html')
@app.route('/from_client', methods=['POST'])
def from_client():
request_data = request.get_json()
data_id = mymodules.somecode(request_data)
return data_id
if __name__ == '__main__':
app.run()
我觉得有一个问题,从如何导入工作。我试图使用
import sys
#sys.path.append('[pathoftheflaskfolder/flaskApp/flaskApp/modules')
不过也没什么用,我的Flask和Python水平有限,转来转去也没找到解决的办法,大家有什么想法尽管来!
2条答案
按热度按时间roejwanj1#
看起来你的代码试图在模块本身内部导入模块。你应该使用相对导入来使它正确工作。
yeotifhr2#
要创建模块目录,文件夹需要一个
__init__.py
,这样Python就可以知道它是一个模块,而不仅仅是一个包含代码的文件夹。将文件结构更改为以下格式: