eudicots / Cactus

Static site generator for designers. Uses Python and Django templates.
BSD 3-Clause "New" or "Revised" License
3.46k stars 314 forks source link

Can't build because of missing staticfiles template #269

Closed higab85 closed 11 months ago

higab85 commented 7 years ago

I can run the site with django, but cactus can't build it... Here's the error that appears:

~/.local/venvs/cactus/lib/python3.5/site-packages/django/template/base.py:1119: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
  params, varargs, varkw, defaults = getargspec(func)

~/.local/venvs/cactus/lib/python3.5/site-packages/cactus/utils/internal.py:36: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
  return inspect.getargspec(obj)

~/.local/venvs/cactus/lib/python3.5/site-packages/cactus/utils/internal.py:45: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
  spec = inspect.getargspec(getattr(obj, FUNC_OBJ_ATTR))

Traceback (most recent call last):
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/django/template/defaulttags.py", line 1080, in load
    lib = get_library(taglib)
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/django/template/base.py", line 1326, in get_library
    ','.join(tried_modules)))
django.template.base.InvalidTemplateLibrary: Template library staticfiles not found, tried django.templatetags.staticfiles,django_markwhat.templatetags.staticfiles

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "~/.local/bin/cactus", line 11, in <module>
    sys.exit(cli_entrypoint())
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/cactus/cli.py", line 159, in cli_entrypoint
    main(sys.argv[1:])
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/cactus/cli.py", line 155, in main
    ns.target(**kwargs)
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/cactus/cli.py", line 50, in build
    site.build()
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/cactus/site.py", line 275, in build
    mapper(lambda p: p.build(), self.pages())
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/cactus/utils/helpers.py", line 64, in map_apply
    return list(map(fn, iterable))
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/cactus/site.py", line 275, in <lambda>
    mapper(lambda p: p.build(), self.pages())
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/cactus/page.py", line 116, in build
    data = self.render()  #TODO: This calls preBuild indirectly. Not great.
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/cactus/page.py", line 109, in render
    return Template(data).render(context)
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/django/template/base.py", line 125, in __init__
    self.nodelist = compile_string(template_string, origin)
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/django/template/base.py", line 153, in compile_string
    return parser.parse()
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/django/template/base.py", line 278, in parse
    compiled_result = compile_func(self, token)
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/django/template/loader_tags.py", line 215, in do_extends
    nodelist = parser.parse()
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/django/template/base.py", line 278, in parse
    compiled_result = compile_func(self, token)
  File "~/.local/venvs/cactus/lib/python3.5/site-packages/django/template/defaulttags.py", line 1084, in load
    (taglib, e))
django.template.base.TemplateSyntaxError: 'staticfiles' is not a valid tag library: Template library staticfiles not found, tried django.templatetags.staticfiles,django_markwhat.templatetags.staticfiles

I installed cactus with pipsi, if that's of any help

EDIT: I uninstallled it through pipsi and installed it through pip, and got the same problem. The project is done in python3, and pip as well as pipsi were also the python3 variant.

higab85 commented 7 years ago

shoot, I think it might be a django version thing... I'm using Django 1.9.7 for my project, and I've just seen cactus won't work with Django above 1.7. The funny thing is it has worked before, and now it just stopped working. Same machine and everything EDIT: This is the problem using Django 1.9.7:

Traceback (most recent call last):
  File "/usr/local/bin/cactus", line 11, in <module>
    sys.exit(cli_entrypoint())
  File "/usr/local/lib/python3.5/dist-packages/cactus/cli.py", line 159, in cli_entrypoint
    main(sys.argv[1:])
  File "/usr/local/lib/python3.5/dist-packages/cactus/cli.py", line 155, in main
    ns.target(**kwargs)
  File "/usr/local/lib/python3.5/dist-packages/cactus/cli.py", line 49, in build
    site = self.Site(path, config)
  File "/usr/local/lib/python3.5/dist-packages/cactus/site.py", line 95, in __init__
    self.setup()
  File "/usr/local/lib/python3.5/dist-packages/cactus/site.py", line 158, in setup
    from django.template.loader import add_to_builtins
ImportError: cannot import name 'add_to_builtins