Использование StaticGenerator для генерации статического HTML из проекта Django - PullRequest
0 голосов
/ 03 февраля 2011

Я пытаюсь сгенерировать статический HTML для сайта, который я создал в Django.До сих пор я придумал StaticGenerator .Мне кажется, что это должно быть похоже на пример со страницы github, но я написал код ниже, и он дает ошибку ниже.

Код:

sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "../")))
os.environ["DJANGO_SETTINGS_MODULE"] = "site.settings"
quick_publish('/')

Ошибка ((отредактировано для краткости):

Traceback (most recent call last):
    quick_publish('/')
  File "/usr/local/lib/python2.6/dist-packages/staticgenerator/__init__.py", line 232, in quick_publish
    return StaticGenerator(*resources).publish()
  File "/dist-packages/staticgenerator/__init__.py", line 229, in publish
    return self.do_all(self.publish_from_path)
  File "/dist-packages/staticgenerator/__init__.py", line 223, in do_all
    return [func(path) for path in self.resources]
  File "/dist-packages/staticgenerator/__init__.py", line 187, in publish_from_path
    filename, directory = self.get_filename_from_path(path)
  File "/dist-packages/staticgenerator/__init__.py", line 179, in get_filename_from_path
    filename = self.fs.join(self.web_root, path.lstrip('/')).encode('utf-8')
  File "/dist-packages/staticgenerator/filesystem.py", line 38, in join
    return os.path.join(paths[0], *[path.lstrip("/") for path in paths[1:]])
  File "/usr/lib/python2.6/posixpath.py", line 67, in join
    elif path == '' or path.endswith('/'):
AttributeError: 'tuple' object has no attribute 'endswith'

1 Ответ

1 голос
/ 03 февраля 2011

ОК, пройдя ваш след, я догадываюсь, что ваш settings.WEB_ROOT - кортеж.

Соответствующие строки:

# web root set
self.web_root = getattr(self.settings, 'WEB_ROOT')

# web root used 
filename = self.fs.join(self.web_root, path.lstrip('/')).encode('utf-8')

# breaks on real os.path.join
return os.path.join(paths[0], *[path.lstrip("/") for path in paths[1:]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...