我无法使用manage.py cities --import=all
导入数据,我不知道为什么会发生这种情况。这是日志:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/julian/.virtualenvs/duenio/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File "/home/julian/.virtualenvs/duenio/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/julian/.virtualenvs/duenio/local/lib/python2.7/site-packages/django/core/management/base.py", line 348, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/julian/.virtualenvs/duenio/local/lib/python2.7/site-packages/django/core/management/base.py", line 399, in execute
output = self.handle(*args, **options)
File "/home/julian/.virtualenvs/duenio/local/lib/python2.7/site-packages/django/utils/decorators.py", line 184, in inner
return func(*args, **kwargs)
File "/home/julian/.virtualenvs/duenio/local/lib/python2.7/site-packages/cities/management/commands/cities.py", line 86, in handle
func()
File "/home/julian/.virtualenvs/duenio/local/lib/python2.7/site-packages/cities/management/commands/cities.py", line 312, in import_city
uptodate = self.download_once('city')
File "/home/julian/.virtualenvs/duenio/local/lib/python2.7/site-packages/cities/management/commands/cities.py", line 159, in download_once
self.download_cache[filekey] = self.download(filekey, i)
File "/home/julian/.virtualenvs/duenio/local/lib/python2.7/site-packages/cities/management/commands/cities.py", line 119, in download
filepath = os.path.join(self.data_dir, filename)
File "/home/julian/.virtualenvs/duenio/lib/python2.7/posixpath.py", line 75, in join
if b.startswith('/'):
AttributeError: 'list' object has no attribute 'startswith'
这些是城市设置(我安装了Postgis):
DATABASES['default']['ENGINE'] = 'django.contrib.gis.db.backends.postgis'
...
CITIES_FILES = {
'city': {
'filename': ['CO.zip',],
'urls': ['http://download.geonames.org/export/dump/'+'{filename}']
},
}
奇怪的是,我在一个新的项目中安装了django-cities,它确实有效。你知道怎么解决这个问题吗?
答案 0 :(得分:1)
提供文件列表时,应使用filenames
代替filename
:
CITIES_FILES = {
'city': {
'filenames': ['CO.zip',],
'urls': ['http://download.geonames.org/export/dump/'+'{filename}']
},
}
或者:
CITIES_FILES = {
'city': {
'filename': 'CO.zip',
'urls': ['http://download.geonames.org/export/dump/'+'{filename}']
},
}
的配置部分中的更多详细信息