tangentlabs / django-fancypages

A Content Enhancement System for Django
https://django-fancypages.readthedocs.org
BSD 3-Clause "New" or "Revised" License
34 stars 11 forks source link

Sandbox: Uploading image results in traceback #15

Open izidormatusov opened 10 years ago

izidormatusov commented 10 years ago

Playing with sandbox. When uploading a new image asset, the following traceback occurs:

Internal Server Error: /dashboard/fancypages/assets/image/upload/
Traceback (most recent call last):
  File "/home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 115, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/home/izidor/downloads/django-fancypages/fancypages/utils/decorators.py", line 30, in _checklogin
    return view_func(request, *args, **kwargs)
  File "/home/izidor/downloads/django-fancypages/fancypages/utils/decorators.py", line 30, in _checklogin
    return view_func(request, *args, **kwargs)
  File "/home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/views/generic/base.py", line 68, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/views/generic/base.py", line 86, in dispatch
    return handler(request, *args, **kwargs)
  File "/home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/views/generic/edit.py", line 199, in post
    return super(BaseCreateView, self).post(request, *args, **kwargs)
  File "/home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/views/generic/edit.py", line 163, in post
    form = self.get_form(form_class)
  File "/home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/views/generic/edit.py", line 35, in get_form
    return form_class(**self.get_form_kwargs())
  File "/home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/forms/models.py", line 238, in __init__
    raise ValueError('ModelForm has no model class specified.')
ValueError: ModelForm has no model class specified.
izidormatusov commented 10 years ago

Did a little of investigation. You run into recursive dependency and ImageAsset model is not set properly, traceback:

  /home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py(93)inner_run()
-> self.validate(display_num_errors=True)
  /home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/core/management/base.py(280)validate()
-> num_errors = get_validation_errors(s, app)
  /home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/core/management/validation.py(35)get_validation_errors()
-> for (app_name, error) in get_app_errors().items():
  /home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/db/models/loading.py(166)get_app_errors()
-> self._populate()
  /home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/db/models/loading.py(72)_populate()
-> self.load_app(app_name, True)
  /home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/db/models/loading.py(96)load_app()
-> models = import_module('.models', app_name)
  /home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/utils/importlib.py(35)import_module()
-> __import__(name)
  /home/izidor/downloads/django-fancypages/fancypages/assets/models.py(4)<module>()
-> from ..compat import get_user_model
  /home/izidor/downloads/django-fancypages/fancypages/compat.py(6)<module>()
-> User = get_user_model()
  /home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/contrib/auth/__init__.py(127)get_user_model()
-> user_model = get_model(app_label, model_name)
  /home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/db/models/loading.py(230)get_model()
-> self._populate()
  /home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/db/models/loading.py(72)_populate()
-> self.load_app(app_name, True)
  /home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/db/models/loading.py(96)load_app()
-> models = import_module('.models', app_name)
  /home/izidor/.virtualenvs/django-fancypages/local/lib/python2.7/site-packages/django/utils/importlib.py(35)import_module()
-> __import__(name)
  /home/izidor/downloads/django-fancypages/fancypages/models/__init__.py(14)<module>()
-> from .blocks import (
  /home/izidor/downloads/django-fancypages/fancypages/models/blocks/__init__.py(1)<module>()
-> from .layouts import (
  /home/izidor/downloads/django-fancypages/fancypages/models/blocks/layouts.py(5)<module>()
-> from .content import ContentBlock
  /home/izidor/downloads/django-fancypages/fancypages/models/blocks/content.py(8)<module>()
-> from ...assets.fields import AssetKey
  /home/izidor/downloads/django-fancypages/fancypages/assets/fields.py(3)<module>()
-> from .forms import AssetField
  /home/izidor/downloads/django-fancypages/fancypages/assets/forms/__init__.py(1)<module>()
-> from .forms import *
> /home/izidor/downloads/django-fancypages/fancypages/assets/forms/forms.py(14)<module>()->None
-> import pdb; pdb.set_trace()

Not sure what is the best way to fix it as I see the fancy pages for the very first time.

roadsideseb commented 10 years ago

Thanks for all the details. I think I've neglected the sandbox a little over the last few changes I've made. I'll take a look at that as soon as I get some time.