我正在使用Python和Flask来构建一个项目.
如何导入子目录中的模块?
这是目录结构.
/application
/apis
settings.py
index.py
Run Code Online (Sandbox Code Playgroud)
这是index.py文件.
from flask import Flask
import os
import sys
import random
from flask import render_template, request, jsonify, redirect, url_for, send_file, Response, make_response
from werkzeug import secure_filename
app = Flask(__name__)
app.debug = True
sys.path.append("apis")
import settings
Run Code Online (Sandbox Code Playgroud)
这是apis文件夹中的settings.py文件.
from flask import Flask
import pymongo
import datetime
import os
import sys
import random
from flask import render_template, request, jsonify, redirect, url_for, send_file, Response, make_response
from werkzeug import secure_filename
app = Flask(__name__)
app.debug = True
## About Us
@app.route('/apis/settings/aboutus')
def aboutus():
return render_template('aboutus.html')
Run Code Online (Sandbox Code Playgroud)
所以,我尝试使用sys.path.append导入设置模块.
当所有代码都在index.py中时,它运行正常.
如果我点击这个地址http://domain.com:5000/apis/settings/aboutus,它应该显示AboutUS页面.
但是,在我拆分模块后,它说"404 Not Found".
你能看到问题吗?
您需要创建一个"包".基本上是包含的目录__init__.py.
通常你可以(天真地)做这样的事情:
$ mkdir foo
$ touch foo/__init__.py
Run Code Online (Sandbox Code Playgroud)
但是,"foo"必须在sys.path.
有关详细信息,请参阅:http://docs.python.org/2/tutorial/modules.html.
| 归档时间: |
|
| 查看次数: |
7962 次 |
| 最近记录: |