GithubHelp home page GithubHelp logo

django-fluent / django-fluent-blogs Goto Github PK

View Code? Open in Web Editor NEW
39.0 7.0 19.0 557 KB

A blog engine with flexible block contents (based on django-fluent-contents)

Home Page: http://django-fluent.org/

License: Apache License 2.0

Python 78.05% HTML 18.78% CSS 3.17%
blog-engine blogging django-fluent django

django-fluent-blogs's People

Contributors

klavman avatar msaelices avatar vdboor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

django-fluent-blogs's Issues

MultiValueDictKeyError when editing blog entry

I Receive the following error when editing an existing blog entry via the admin console:

MultiValueDictKeyError at /pvadmin/fluent_blogs/entry/3/

"u'placeholder-fs-0-id'"

Any idea why and how to fix?

Traceback...
Environment:

Request Method: POST
Request URL: http://127.0.0.1:8000/pvadmin/fluent_blogs/entry/3/?language=en-gb

Django Version: 1.6.5
Python Version: 2.7.6
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'microgendb',
'home',
'pv',
'pv.maps',
'pv.report',
'faq',
'ckeditor',
'registration',
'linaro_django_pagination',
'djangobb_forum',
'haystack',
'django_messages',
'fluent_blogs',
'fluent_contents',
'fluent_contents.plugins.text',
'categories',
'categories.editor',
'django_wysiwyg',
'fluent_comments',
'django.contrib.comments',
'crispy_forms',
'taggit',
'taggit_autocomplete_modified',
'parler')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'linaro_django_pagination.middleware.PaginationMiddleware')

Traceback:
File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response

  1.                 response = wrapped_callback(request, _callback_args, *_callback_kwargs)
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in wrapper
  2.             return self.admin_site.admin_view(view)(_args, *_kwargs)
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
  3.                 response = view_func(request, _args, *_kwargs)
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  4.     response = view_func(request, _args, *_kwargs)
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/contrib/admin/sites.py" in inner
  5.         return view(request, _args, *_kwargs)
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapper
  6.         return bound_func(_args, *_kwargs)
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
  7.                 response = view_func(request, _args, *_kwargs)
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/utils/decorators.py" in bound_func
  8.             return func(self, _args2, *_kwargs2)
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/db/transaction.py" in inner
  9.             return func(_args, *_kwargs)
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in change_view
  10.         if all_valid(formsets) and form_validated:
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/forms/formsets.py" in all_valid
  11.     if not formset.is_valid():
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/forms/formsets.py" in is_valid
  12.     err = self.errors
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/forms/formsets.py" in errors
  13.         self.full_clean()
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/forms/formsets.py" in full_clean
  14.         form = self.forms[i]
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/utils/functional.py" in get
  15.     res = instance.**dict**[self.func.**name**] = self.func(instance)
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/forms/formsets.py" in forms
  16.     forms = [self._construct_form(i) for i in xrange(self.total_form_count())]
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/fluent_contents/admin/genericextensions.py" in _construct_form
  17.     form = super(BaseInitialGenericInlineFormSet, self)._construct_form(i, **kwargs)
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/forms/models.py" in _construct_form
  18.         pk = self.data[pk_key]
    
    File "/home/jt/Desktop/virtual_envs/microgen/local/lib/python2.7/site-packages/django/utils/datastructures.py" in getitem
  19.         raise MultiValueDictKeyError(repr(key))
    

Exception Type: MultiValueDictKeyError at /pvadmin/fluent_blogs/entry/3/
Exception Value: "u'placeholder-fs-0-id'"

TemplateSyntaxError at /admin/fluent_pages/page/add/

After creating a project following the [Getting Started](TemplateSyntaxError at /admin/fluent_pages/page/add/) tutorial, I am trying to create a page of type "Blog module" or to create a blog entry.

I see:

TemplateSyntaxError at /admin/fluent_pages/page/add/
Cannot read {{ block.super }} for {% block staff_toolbar %}, the parent template doesn't have this block.

The exception is:

[14/May/2016 21:41:09] "POST /admin/fluent_pages/page/add/ HTTP/1.1" 302 0
ERROR:  Internal Server Error: /admin/fluent_pages/page/add/
Traceback (most recent call last):
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 149, in get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 147, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 541, in wrapper
    return self.admin_site.admin_view(view)(*args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/views/decorators/cache.py", line 57, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/contrib/admin/sites.py", line 244, in inner
    return view(request, *args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/polymorphic/admin.py", line 258, in add_view
    return real_admin.add_view(request, form_url, extra_context)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 1437, in add_view
    return self.changeform_view(request, None, form_url, extra_context)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/utils/decorators.py", line 67, in _wrapper
    return bound_func(*args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/utils/decorators.py", line 63, in bound_func
    return func.__get__(self, type(self))(*args2, **kwargs2)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/utils/decorators.py", line 184, in inner
    return func(*args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 1393, in changeform_view
    formsets, inline_instances = self._create_formsets(request, form.instance, change=False)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 1718, in _create_formsets
    for FormSet, inline in self.get_formsets_with_inlines(*get_formsets_args):
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 697, in get_formsets_with_inlines
    for inline in self.get_inline_instances(request, obj):
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/fluent_contents/admin/placeholdereditor.py", line 188, in get_inline_instances
    inlinetypes = self.get_extra_inlines()
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/fluent_contents/admin/placeholdereditor.py", line 200, in get_extra_inlines
    return [self.placeholder_inline] + get_content_item_inlines(plugins=self.get_all_allowed_plugins())
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/fluent_pages/integration/fluent_contents/admin.py", line 86, in get_all_allowed_plugins
    slots = [placeholder.slot for placeholder in get_template_placeholder_data(template)]
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/fluent_contents/analyzer.py", line 24, in get_template_placeholder_data
    nodes = get_node_instances(template, PagePlaceholderNode)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/template_analyzer/djangoanalyzer.py", line 243, in get_node_instances
    return _scan_nodes(nodelist, context, instances)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/template_analyzer/djangoanalyzer.py", line 158, in _scan_nodes
    results += _extend_nodelist(node, context, instance_types)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/template_analyzer/djangoanalyzer.py", line 114, in _extend_nodelist
    results += _scan_nodes(block.nodelist, context, instance_types, block, ignore_blocks=all_block_names)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/template_analyzer/djangoanalyzer.py", line 167, in _scan_nodes
    current_block.name
TemplateSyntaxError: Cannot read {{ block.super }} for {% block staff_toolbar %}, the parent template doesn't have this block.
Internal Server Error: /admin/fluent_pages/page/add/
Traceback (most recent call last):
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 149, in get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 147, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 541, in wrapper
    return self.admin_site.admin_view(view)(*args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/views/decorators/cache.py", line 57, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/contrib/admin/sites.py", line 244, in inner
    return view(request, *args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/polymorphic/admin.py", line 258, in add_view
    return real_admin.add_view(request, form_url, extra_context)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 1437, in add_view
    return self.changeform_view(request, None, form_url, extra_context)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/utils/decorators.py", line 67, in _wrapper
    return bound_func(*args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/utils/decorators.py", line 63, in bound_func
    return func.__get__(self, type(self))(*args2, **kwargs2)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/utils/decorators.py", line 184, in inner
    return func(*args, **kwargs)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 1393, in changeform_view
    formsets, inline_instances = self._create_formsets(request, form.instance, change=False)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 1718, in _create_formsets
    for FormSet, inline in self.get_formsets_with_inlines(*get_formsets_args):
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 697, in get_formsets_with_inlines
    for inline in self.get_inline_instances(request, obj):
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/fluent_contents/admin/placeholdereditor.py", line 188, in get_inline_instances
    inlinetypes = self.get_extra_inlines()
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/fluent_contents/admin/placeholdereditor.py", line 200, in get_extra_inlines
    return [self.placeholder_inline] + get_content_item_inlines(plugins=self.get_all_allowed_plugins())
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/fluent_pages/integration/fluent_contents/admin.py", line 86, in get_all_allowed_plugins
    slots = [placeholder.slot for placeholder in get_template_placeholder_data(template)]
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/fluent_contents/analyzer.py", line 24, in get_template_placeholder_data
    nodes = get_node_instances(template, PagePlaceholderNode)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/template_analyzer/djangoanalyzer.py", line 243, in get_node_instances
    return _scan_nodes(nodelist, context, instances)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/template_analyzer/djangoanalyzer.py", line 158, in _scan_nodes
    results += _extend_nodelist(node, context, instance_types)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/template_analyzer/djangoanalyzer.py", line 114, in _extend_nodelist
    results += _scan_nodes(block.nodelist, context, instance_types, block, ignore_blocks=all_block_names)
  File "/home/jjmontes/git/cubesviewer-server/x/env/local/lib/python2.7/site-packages/template_analyzer/djangoanalyzer.py", line 167, in _scan_nodes
    current_block.name
TemplateSyntaxError: Cannot read {{ block.super }} for {% block staff_toolbar %}, the parent template doesn't have this block.
[14/May/2016 21:41:09] "GET /admin/fluent_pages/page/add/?ct_id=9 HTTP/1.1" 500 185825

Unknown field(s) (contents) specified for Entry

Appears to have installed all properly
http://beta.gustafsonandassociates.com/blog/

but when i goto the admin to add a new entry I get the following exception

Environment:

Request Method: GET
Request URL: http://beta.gustafsonandassociates.com/admin/fluent_blogs/entry/add/

Django Version: 1.6
Python Version: 2.6.8
Installed Applications:
['django.contrib.sites',
 'django.contrib.contenttypes',
 'django.contrib.auth',
 'django.contrib.sessions',
 'django.contrib.admin',
 'django.contrib.admindocs',
 'django.contrib.flatpages',
 'django.contrib.sitemaps',
 'django.contrib.redirects',
 'apps.utils',
 'apps.django_assets',
 'apps.links',
 'apps.staff',
 'apps.appraisal_fees',
 'apps.contact_list',
 'apps.bids',
 'apps.feedback',
 'apps.office',
 'apps.nav_menu',
 'fluent_blogs',
 'fluent_contents',
 'fluent_contents.plugins.text',
 'categories',
 'categories.editor',
 'django_wysiwyg',
 'django.contrib.comments',
 'taggit',
 'taggit_autocomplete_modified']
Installed Middleware:
('django.middleware.gzip.GZipMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.middleware.doc.XViewMiddleware',
 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
 'django.contrib.redirects.middleware.RedirectFallbackMiddleware')


Traceback:
File "/home/digitalxero/sites/bgna.digitalxero.net/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
  114.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/digitalxero/sites/bgna.digitalxero.net/lib/python2.6/site-packages/django/contrib/admin/options.py" in wrapper
  430.                 return self.admin_site.admin_view(view)(*args, **kwargs)
File "/home/digitalxero/sites/bgna.digitalxero.net/lib/python2.6/site-packages/django/utils/decorators.py" in _wrapped_view
  99.                     response = view_func(request, *args, **kwargs)
File "/home/digitalxero/sites/bgna.digitalxero.net/lib/python2.6/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  52.         response = view_func(request, *args, **kwargs)
File "/home/digitalxero/sites/bgna.digitalxero.net/lib/python2.6/site-packages/django/contrib/admin/sites.py" in inner
  198.             return view(request, *args, **kwargs)
File "/home/digitalxero/sites/bgna.digitalxero.net/lib/python2.6/site-packages/django/utils/decorators.py" in _wrapper
  29.             return bound_func(*args, **kwargs)
File "/home/digitalxero/sites/bgna.digitalxero.net/lib/python2.6/site-packages/django/utils/decorators.py" in _wrapped_view
  99.                     response = view_func(request, *args, **kwargs)
File "/home/digitalxero/sites/bgna.digitalxero.net/lib/python2.6/site-packages/django/utils/decorators.py" in bound_func
  25.                 return func(self, *args2, **kwargs2)
File "/home/digitalxero/sites/bgna.digitalxero.net/lib/python2.6/site-packages/django/db/transaction.py" in inner
  339.                 return func(*args, **kwargs)
File "/home/digitalxero/sites/bgna.digitalxero.net/lib/python2.6/site-packages/django/contrib/admin/options.py" in add_view
  1106.         ModelForm = self.get_form(request)
File "/home/digitalxero/sites/bgna.digitalxero.net/lib/python2.6/site-packages/parler/admin.py" in get_form
  253.         form_class = super(TranslatableAdmin, self).get_form(request, obj, **kwargs)
File "/home/digitalxero/sites/bgna.digitalxero.net/lib/python2.6/site-packages/django/contrib/admin/options.py" in get_form
  529.                              % (e, self.__class__.__name__))

Exception Type: FieldError at /admin/fluent_blogs/entry/add/
Exception Value: Unknown field(s) (contents) specified for Entry. Check fields/fieldsets/exclude attributes of class EntryAdmin.

Circular imports (?) exposed when DEBUG=False

Django version is 1.5.4
django-fluent-blogs version is 0.9.6

Works fine with DEBUG=True, but with DEBUG=False there are ImportErrors. (I gather Django imports things slightly differently in these two cases.):

[25/Sep/2013 08:40:36] ERROR [django.request:212] Internal Server Error: /
Traceback (most recent call last):
  File "/home/al/venvs/cc/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 103, in get_response
    resolver_match = resolver.resolve(request.path_info)
  File "/home/al/venvs/cc/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 319, in resolve
    for pattern in self.url_patterns:
  File "/home/al/venvs/cc/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 347, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/home/al/venvs/cc/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 342, in urlconf_module
    self._urlconf_module = import_module(self.urlconf_name)
  File "/home/al/venvs/cc/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "./ccnew/urls.py", line 10, in <module>
    admin.autodiscover()
  File "/home/al/venvs/cc/local/lib/python2.7/site-packages/django/contrib/admin/__init__.py", line 29, in autodiscover
    import_module('%s.admin' % app)
  File "/home/al/venvs/cc/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/home/al/venvs/cc/local/lib/python2.7/site-packages/fluent_blogs/admin/__init__.py", line 2, in <module>
    from fluent_blogs.admin.entryadmin import AbstractEntryBaseAdmin, EntryAdmin, AbstractEntryBaseAdminForm
  File "/home/al/venvs/cc/local/lib/python2.7/site-packages/fluent_blogs/admin/entryadmin.py", line 10, in <module>
    from fluent_blogs.base_models import AbstractEntryBase
  File "/home/al/venvs/cc/local/lib/python2.7/site-packages/fluent_blogs/base_models.py", line 9, in <module>
    from fluent_blogs.models.managers import EntryManager
  File "/home/al/venvs/cc/local/lib/python2.7/site-packages/fluent_blogs/models/__init__.py", line 1, in <module>
    from .db import Entry, AbstractEntry, get_entry_model, get_category_model
  File "/home/al/venvs/cc/local/lib/python2.7/site-packages/fluent_blogs/models/db.py", line 4, in <module>
    from fluent_blogs.base_models import AbstractEntry, CommentsEntryMixin
ImportError: cannot import name AbstractEntry

`SITE_ID` should not be a required setting.

Django no longer includes SITE_ID in the default settings.py and no longer adds django.contrib.sites to INSTALLED_APPS.

If it is actually required by fluent-blogs, adding django.contrib.sites to INSTALLED_APPS and defining SITE_ID should be mentioned in README.rst.

A quick search of the source reveals that this might also impact fluent-contents and fluent-pages. But for fluent-blogs it causes any management command to crash with a traceback.

Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/tailee/.virtualenvs/fluent-demo/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/Users/tailee/.virtualenvs/fluent-demo/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/tailee/.virtualenvs/fluent-demo/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/Users/tailee/.virtualenvs/fluent-demo/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute
    output = self.handle(*args, **options)
  File "/Users/tailee/.virtualenvs/fluent-demo/lib/python2.7/site-packages/django/core/management/base.py", line 415, in handle
    return self.handle_noargs(**options)
  File "/Users/tailee/.virtualenvs/fluent-demo/lib/python2.7/site-packages/django/core/management/commands/shell.py", line 70, in handle_noargs
    get_models()
  File "/Users/tailee/.virtualenvs/fluent-demo/lib/python2.7/site-packages/django/db/models/loading.py", line 232, in get_models
    self._populate()
  File "/Users/tailee/.virtualenvs/fluent-demo/lib/python2.7/site-packages/django/db/models/loading.py", line 75, in _populate
    self.load_app(app_name, True)
  File "/Users/tailee/.virtualenvs/fluent-demo/lib/python2.7/site-packages/django/db/models/loading.py", line 99, in load_app
    models = import_module('%s.models' % app_name)
  File "/Users/tailee/.virtualenvs/fluent-demo/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "/Users/tailee/Projects/django-fluent-blogs/fluent_blogs/models/__init__.py", line 1, in <module>
    from .db import Entry, Entry_Translation, get_entry_model, get_category_model
  File "/Users/tailee/Projects/django-fluent-blogs/fluent_blogs/models/db.py", line 5, in <module>
    from fluent_blogs.base_models import CommentsEntryMixin, AbstractTranslatableEntry, AbstractTranslatedFieldsEntry
  File "/Users/tailee/Projects/django-fluent-blogs/fluent_blogs/base_models.py", line 9, in <module>
    from fluent_blogs.models.managers import EntryManager, TranslatableEntryManager
  File "/Users/tailee/Projects/django-fluent-blogs/fluent_blogs/models/managers.py", line 8, in <module>
    from fluent_blogs import appsettings
  File "/Users/tailee/Projects/django-fluent-blogs/fluent_blogs/appsettings.py", line 65, in <module>
    if len(FLUENT_BLOGS_LANGUAGES.get(settings.SITE_ID, ())) > 1:
  File "/Users/tailee/.virtualenvs/fluent-demo/lib/python2.7/site-packages/django/conf/__init__.py", line 55, in __getattr__
    return getattr(self._wrapped, name)
AttributeError: 'Settings' object has no attribute 'SITE_ID'

That crash is an easy fix with getattr(settings, 'SITE_ID, None), but I see that SITE_ID is also used elsewhere in the fluents-blog source.

No new entry interface

Is django-fluent-pages a requirement? After a fresh install, there appears to be no way to add a blog entry. Attempting to add an entry via /admin gives TemplateDoesNotExist at /admin/fluent_blogs/entry/add/. Perhaps the docs/readme should clarify what is necessary here. I'd quite like to have a standalone blog app, with just one entry content type, archives, tags etc, and without extended cms features.

Fluent blogs w/ parler

Do you have any documentation on how to get the fluent blogs up and running with parler translations? I currently got parler translations working with fluent_pages but the blogs seem to need a bit more tweaking to get them to work.

Add sphinx documentation

The documetation in README.rst is getting huge. Better get sphinx documentation on readthedocs ;)

Also worth including:

  • How to add "Recent blog entries" to a sidebar
  • How to add a "Popular tags" list
  • How to get "featured" entries.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.