Skip to content
This repository has been archived by the owner on Oct 29, 2019. It is now read-only.

AttributeError at /en/blog/ 'NoneType' object has no attribute 'template_prefix' #195

Closed
shadow-identity opened this issue Apr 21, 2015 · 8 comments

Comments

@shadow-identity
Copy link

Occurs on the clean and updated setups when trying to load page with newsblog content. All software was updated from pip.

Environment:


Request Method: GET
Request URL: http://localhost/en/blog/?edit&language=en

Django Version: 1.7.7
Python Version: 2.7.9
Installed Applications:
('djangocms_admin_style',
 'djangocms_text_ckeditor',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.admin',
 'django.contrib.sites',
 'django.contrib.sitemaps',
 'django.contrib.staticfiles',
 'django.contrib.messages',
 'cms',
 'menus',
 'sekizai',
 'treebeard',
 'djangocms_style',
 'djangocms_column',
 'djangocms_file',
 'djangocms_flash',
 'djangocms_googlemap',
 'djangocms_inherit',
 'djangocms_link',
 'djangocms_picture',
 'djangocms_teaser',
 'djangocms_video',
 'reversion',
 'mysite',
 'aldryn_apphooks_config',
 'aldryn_boilerplates',
 'aldryn_categories',
 'aldryn_newsblog',
 'aldryn_people',
 'aldryn_reversion',
 'easy_thumbnails',
 'filer',
 'parler',
 'taggit',
 'sortedm2m')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.middleware.doc.XViewMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'cms.middleware.user.CurrentUserMiddleware',
 'cms.middleware.page.CurrentPageMiddleware',
 'cms.middleware.toolbar.ToolbarMiddleware',
 'cms.middleware.language.LanguageCookieMiddleware')


Traceback:
File "/home/nedr/ssd/progs/env/nedrigailov_tk/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/nedr/ssd/progs/env/nedrigailov_tk/lib/python2.7/site-packages/cms/views.py" in details
  165.                 return view(request, *args, **kwargs)
File "/home/nedr/ssd/progs/env/nedrigailov_tk/lib/python2.7/site-packages/django/views/generic/base.py" in view
  69.             return self.dispatch(request, *args, **kwargs)
File "/home/nedr/ssd/progs/env/nedrigailov_tk/lib/python2.7/site-packages/aldryn_newsblog/views.py" in dispatch
  57.         return super(EditModeMixin, self).dispatch(request, *args, **kwargs)
File "/home/nedr/ssd/progs/env/nedrigailov_tk/lib/python2.7/site-packages/aldryn_apphooks_config/mixins.py" in dispatch
  16.         return super(AppConfigMixin, self).dispatch(request, *args, **kwargs)
File "/home/nedr/ssd/progs/env/nedrigailov_tk/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
  87.         return handler(request, *args, **kwargs)
File "/home/nedr/ssd/progs/env/nedrigailov_tk/lib/python2.7/site-packages/django/views/generic/list.py" in get
  161.         return self.render_to_response(context)
File "/home/nedr/ssd/progs/env/nedrigailov_tk/lib/python2.7/site-packages/aldryn_apphooks_config/mixins.py" in render_to_response
  20.         return super(AppConfigMixin, self).render_to_response(context, **response_kwargs)
File "/home/nedr/ssd/progs/env/nedrigailov_tk/lib/python2.7/site-packages/django/views/generic/base.py" in render_to_response
  130.             template=self.get_template_names(),
File "/home/nedr/ssd/progs/env/nedrigailov_tk/lib/python2.7/site-packages/aldryn_newsblog/views.py" in get_template_names
  44.         return self.prefix_template_names(template_names)
File "/home/nedr/ssd/progs/env/nedrigailov_tk/lib/python2.7/site-packages/aldryn_newsblog/views.py" in prefix_template_names
  35.         if self.config.template_prefix:

Exception Type: AttributeError at /en/blog/
Exception Value: 'NoneType' object has no attribute 'template_prefix'
@mkoistinen
Copy link
Contributor

Looks like migrations weren't run. A couple of people have reported this, its just that they didn't run migrations.

@shadow-identity
Copy link
Author

I've done migrate. But now it returns on both (clean and updated) installations:

  No migrations to apply.
  Your models have changes that are not yet reflected in a migration, and so won't be applied.
  Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.

I didn't change anything manually. After makemigrations I've got those migrations:

Migrations for 'filer':
  0002_auto_20150422_0048.py:
    - Alter field polymorphic_ctype on file
Migrations for 'aldryn_categories':
  0004_auto_20150422_0048.py:
    - Change Meta options on categorytranslation
    - Alter field language_code on categorytranslation
Migrations for 'aldryn_people':
  0003_auto_20150422_0048.py:
    - Change Meta options on grouptranslation
    - Change Meta options on persontranslation
    - Alter field language_code on grouptranslation
    - Alter field people on peopleplugin
    - Alter field language_code on persontranslation

@mkoistinen
Copy link
Contributor

Oh! Looks like we don't have 1.7 migrations. =( Will fix soon.

@shadow-identity
Copy link
Author

Yep, supporting both South and Django migrations is a pain.

@mkoistinen
Copy link
Contributor

@shadow-identity Please try 0.9.3. This should have the migration you need. =)

@shadow-identity
Copy link
Author

@mkoistinen nope, it is still here...
./manage.py makemigrations --dry-run -v3

Migrations for 'djangocms_link':
  0003_auto_20150424_1651.py:
    - Alter field mailto on link
Full migrations file '0003_auto_20150424_1651.py':
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models, migrations


class Migration(migrations.Migration):

    dependencies = [
        ('djangocms_link', '0002_auto_20140929_1705'),
    ]

    operations = [
        migrations.AlterField(
            model_name='link',
            name='mailto',
            field=models.EmailField(help_text='An email address has priority over a text link.', max_length=75, null=True, verbose_name='email address', blank=True),
            preserve_default=True,
        ),
    ]

Migrations for 'filer':
  0002_auto_20150424_1651.py:
    - Alter field polymorphic_ctype on file
Full migrations file '0002_auto_20150424_1651.py':
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models, migrations


class Migration(migrations.Migration):

    dependencies = [
        ('filer', '0001_initial'),
    ]

    operations = [
        migrations.AlterField(
            model_name='file',
            name='polymorphic_ctype',
            field=models.ForeignKey(related_name='polymorphic_filer.file_set+', editable=False, to='contenttypes.ContentType', null=True),
            preserve_default=True,
        ),
    ]

Migrations for 'aldryn_newsblog':
  0004_auto_20150424_1651.py:
    - Alter field template_prefix on newsblogconfig
Full migrations file '0004_auto_20150424_1651.py':
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models, migrations


class Migration(migrations.Migration):

    dependencies = [
        ('aldryn_newsblog', '0003_auto_20150422_1921'),
    ]

    operations = [
        migrations.AlterField(
            model_name='newsblogconfig',
            name='template_prefix',
            field=models.CharField(max_length=20, null=True, verbose_name='Prefix for template dirs', blank=True),
            preserve_default=True,
        ),
    ]

Migrations for 'aldryn_categories':
  0004_auto_20150424_1651.py:
    - Change Meta options on categorytranslation
    - Alter field language_code on categorytranslation
Full migrations file '0004_auto_20150424_1651.py':
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models, migrations


class Migration(migrations.Migration):

    dependencies = [
        ('aldryn_categories', '0003_auto_20150128_1359'),
    ]

    operations = [
        migrations.AlterModelOptions(
            name='categorytranslation',
            options={'default_permissions': (), 'verbose_name': 'category Translation', 'managed': True},
        ),
        migrations.AlterField(
            model_name='categorytranslation',
            name='language_code',
            field=models.CharField(max_length=15, verbose_name='Language', db_index=True),
            preserve_default=True,
        ),
    ]

Migrations for 'aldryn_people':
  0003_auto_20150424_1651.py:
    - Change Meta options on grouptranslation
    - Change Meta options on persontranslation
    - Alter field language_code on grouptranslation
    - Alter field people on peopleplugin
    - Alter field language_code on persontranslation
Full migrations file '0003_auto_20150424_1651.py':
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models, migrations
import aldryn_common.admin_fields.sortedm2m


class Migration(migrations.Migration):

    dependencies = [
        ('aldryn_people', '0002_auto_20150128_1411'),
    ]

    operations = [
        migrations.AlterModelOptions(
            name='grouptranslation',
            options={'default_permissions': (), 'verbose_name': 'Group Translation', 'managed': True},
        ),
        migrations.AlterModelOptions(
            name='persontranslation',
            options={'default_permissions': (), 'verbose_name': 'Person Translation', 'managed': True},
        ),
        migrations.AlterField(
            model_name='grouptranslation',
            name='language_code',
            field=models.CharField(max_length=15, verbose_name='Language', db_index=True),
            preserve_default=True,
        ),
        migrations.AlterField(
            model_name='peopleplugin',
            name='people',
            field=aldryn_common.admin_fields.sortedm2m.SortedM2MModelField(help_text=None, to='aldryn_people.Person', null=True, blank=True),
            preserve_default=True,
        ),
        migrations.AlterField(
            model_name='persontranslation',
            name='language_code',
            field=models.CharField(max_length=15, verbose_name='Language', db_index=True),
            preserve_default=True,
        ),
    ]

And boilerplates issue is still here. Can you accept aldryn-boilerplates#7?
Without it boilerplates fails:

"GET /static/cms/js/modules/cms.structureboard.js HTTP/1.1" 500 59
Traceback (most recent call last):
  File "/usr/lib64/python2.7/wsgiref/handlers.py", line 85, in run
    self.result = application(self.environ, self.start_response)
  File "/home/nedr/progs/env/cms/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 65, in __call__
    return super(StaticFilesHandler, self).__call__(environ, start_response)
  File "/home/nedr/progs/env/cms/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 187, in __call__
    response = self.get_response(request)
  File "/home/nedr/progs/env/cms/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 55, in get_response
    return self.serve(request)
  File "/home/nedr/progs/env/cms/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 48, in serve
    return serve(request, self.file_path(request.path), insecure=True)
  File "/home/nedr/progs/env/cms/lib/python2.7/site-packages/django/contrib/staticfiles/views.py", line 33, in serve
    absolute_path = finders.find(normalized_path)
  File "/home/nedr/progs/env/cms/lib/python2.7/site-packages/django/contrib/staticfiles/finders.py", line 248, in find
    for finder in get_finders():
  File "/home/nedr/progs/env/cms/lib/python2.7/site-packages/django/contrib/staticfiles/finders.py", line 263, in get_finders
    yield get_finder(finder_path)
  File "/home/nedr/progs/env/cms/lib/python2.7/site-packages/django/utils/lru_cache.py", line 101, in wrapper
    result = user_function(*args, **kwds)
  File "/home/nedr/progs/env/cms/lib/python2.7/site-packages/django/contrib/staticfiles/finders.py", line 272, in get_finder
    Finder = import_string(import_path)
  File "/home/nedr/progs/env/cms/lib/python2.7/site-packages/django/utils/module_loading.py", line 26, in import_string
    module = import_module(module_path)
  File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home/nedr/progs/env/cms/lib/python2.7/site-packages/aldryn_boilerplates/staticfile_finders.py", line 14, in <module>
    class BoilerplateAppStaticStorage(django.contrib.staticfiles.storage.AppStaticStorage):
AttributeError: 'module' object has no attribute 'AppStaticStorage'

@mkoistinen
Copy link
Contributor

Can you try 0.9.4?

@shadow-identity
Copy link
Author

I've updated installation to aldryn-boilerplates-0.7 aldryn-common-0.1.3 aldryn-newsblog-0.9.4 aldryn-people-0.5.2 django-taggit-0.14.0 lxml-3.4.4

Now all works fine, thanks!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants