我正在使用Python构建GAE web应用程序。我还使用了数据存储和使用终端和CSV文件每尝试批量上传数据到数据库:通过CSV通过Google App Engine数据存储批量上传
https://developers.google.com/appengine/docs/python/tools/uploadingdata
我在我的应用程序根目录中创建一个separate.py文件中的类加载器目录。我不确定这个loader类是否应该放在我的main.py webapp文件中,或者放在根目录下的其他文件中。
Loader类:
import datetime
from google.appengine.ext import db
from google.appengine.tools import bulkloader
import models
class FTSELoader(bulkloader.Loader):
def __init__(self):
bulkloader.Loader.__init__(self, 'FTSE',
[('date', lambda x: datetime.datetime.strptime(x, '%Y/%m/%d')),
('close', float)])
loaders = [FTSELoader]
我的一种类(即我的数据存储表)我想创建/上传被称为“金融时报”。然后我在终端运行此命令:
appcfg.py upload_data --config_file=FTSEdataloader.py --filename=FTSEdata.csv -- kind=FTSE --url=http://<myapp.appspot.com>/_ah/remote_api
我得到以下错误:
文件 “FTSEdataloader.py”,4号线,在 进口车型 导入错误:没有模块名为车型
我没有像GAE演示中的“models.py”。取而代之的是什么?
谢谢
如果不在models.py中,您的模型定义在哪里? – georgerw
对不起,我是编程新手,不确定是否完全理解。要在数据库中定义我的表,我的main.py应用程序文件中有类。那么这应该是“import main.py?”代替? – Reno
将模型放在自己的文件中称为models.py是很常见的。在main.py中,你可以用'from .models import MyModel'来导入它们。通过这样做,您将避免在应用程序增长时出现的循环导入问题 – georgerw