Simple yet powerful and really extendable application for managing a blog within your Django Web site.

Related tags

CMS python blog django
Overview

Django Blog Zinnia Latest version on Pypi

Build Status - develop branch Coverage of the code

Simple yet powerful and really extendable application for managing a blog within your Django Web site.

Zinnia has been made for publishing Weblog entries and designed to do it well.

Basically any feature that can be provided by another reusable app has been left out. Why should we re-implement something that is already done and reviewed by others and tested?

Make a free donation with Paypal to encourage the development

Features

More than a long speech, here the list of the main features:

Examples

Take a look at the online demo at: http://demo.django-blog-zinnia.com/ or you can visit these websites who use Zinnia.

If you are a proud user of Zinnia, send me the URL of your website and I will add it to the list.

Online resources

More information and help available at these URLs:

Comments
  • Zinnia breaks on Django 1.7b1: get_user_model at init time

    Zinnia breaks on Django 1.7b1: get_user_model at init time

    zinnia.models.author.Author uses get_user_model() at module import time, which is forbidden by Django 1.7 (https://docs.djangoproject.com/en/dev/releases/1.7/#app-loading-refactor). 1.7 is due for release soon (beta has been released), so a way to avoid this import time dependency should be figured out.

    Bug Improvement Custom User 
    opened by delroth 49
  • Zinnia0.18, in Python3 venv, DEBUG on, Cannot resolve keyword 'entries' into field. Choices are:avatar, comment_comments,...

    Zinnia0.18, in Python3 venv, DEBUG on, Cannot resolve keyword 'entries' into field. Choices are:avatar, comment_comments,...

    Hi! I'm using Django 1.10 and I'm trying to deploy blog Zinnia in a Python 3 virtualenv. I installed Zinnia 0.18 using pip, and followed the "get started" guide to set everything in my site settings.py and urls.py, then made the migrations. However, when I went to 127.0.0.1/weblog , the exception raised.

    django.core.exceptions.FieldError: Cannot resolve keyword 'entries' into field. Choices are: avatar, comment_comments, comment_flags, date_joined, email, first_name, groups, id, is_active, is_staff, is_superuser, last_login, last_name, logentry, password, user_permissions, username

    I looked up issues solved (or closed) before, but unluckily none of them works for me.

    Apps I installed:

    Django==1.10 Pillow==3.3.1 PyMySQL==0.7.6 beautifulsoup4==4.5.1 django-appconf==1.0.2 django-avatar==3.0.0 django-blog-zinnia==0.18 django-contrib-comments==1.7.2 django-mptt==0.8.6 django-tagging==0.4.5 django-xmlrpc==0.1.5 mots-vides==2015.5.11 pyparsing==2.1.9 pytz==2016.6.1 regex==2016.08.27

    Bug 
    opened by valorad 39
  • Made it django 1.6 and Python 3 compatible

    Made it django 1.6 and Python 3 compatible

    With this patch, the app's tests all pass in django 1.6 and python 3.3. The only remaining failures are query-counting related tests (which I believe are a result of django-tagging being weird. See https://groups.google.com/forum/#!topic/django-blog-zinnia/LRUzSxLlHTM ), two tagging-related tests (I believe this is django-tagging's fault), and tests that import custom_url_shortener.py and custom_spam_checker.py . (Both of which do nothing but raise exceptions, guaranteeing the tests will fail.) The remaining failures fail when using the most recent version of 1.5, under python 2, and using the your most recent version of django-blog-zinnia, so they are not new regressions. I think they could most easily be fixed by replacing django-tagging with a better-supported tagging app. I'd like to address that and the related failures with a later patch.

    Some key changes: -Changes to how views/mixins/archives.py 's get_previous_next_published works. -Replacement of explicit unicode calls with six.text_type calls. -Changed how pearson_score works completely to match the algorithm found on the internet. The original version returned values that disagreed with wolfram's calculator. My updated version matches the online calculator's values. -in preview.py, we now return str(self.preview) instead of the soup itself. (Returning a non-string in str in python 3 raises an exception) -assert(Not)Equals calls converted to assert(Not)Equal to silence deprecation warnings -a new urlEqual function was added in tests/utils.py . This is intended to compare urls that have querystrings, where ordering doesn't matter. (So two urls with querystrings in different order should still compare equal)

    Some remaining questions: -CategoryAdminForm in admin/forms.py may or may not be right. The code used originally is not a part of the API so it's not documented at all. (It's not even documented in the source...) The solution currently provided makes the code run and appears to work. (It's the best guess of me and some people on the django-users IRC channel) -Why does the pearson_score function in comparison.py return 1-r instead of just r? (See the code for context) -test_vector_builder in tests/comparison.py badly needs to be looked at. I've made it disregard ordering now. I'm not sure if this is desired or not. Right now, the code assumes a stable iteration order over dictionary keys, which is not a valid assumption. I've done my best to fix it, but I don't really know if it matches what you intended or not. If the function wants to preserve order, it needs to be completely rewritten. -The changes to xmlrpc with respect to bytes vs. strings needs to be looked at. I think I did it correctly, but I'm not 100% sure. (Also tests/utils.py, TestTransport)

    Improvement 
    opened by marky1991 20
  • Extending Entry model using the abstract entry model classes not possible

    Extending Entry model using the abstract entry model classes not possible

    The Entry model is defined in the same module as the abstract entry model classes. This makes it impossible to create a custom Entry based on those abstract classes.

    The documentation is also wrong as that zinnia.models.EntryAbstractClass does not exist anymore: http://docs.django-blog-zinnia.com/en/latest/how-to/extending_entry_model.html

    The easiest fix for this would be to move the abstract entry model classes into a different module like zinnia.models_bases. Django Shop does it that way: https://github.com/divio/django-shop/blob/master/shop/models_bases/init.py

    Update: An example project which triggers this problem can be found under https://github.com/bikeshedder/zinnia-custom-entry-example

    Improvement Tests needed 
    opened by bikeshedder 19
  • KeyError at /admin/zinnia/entry/

    KeyError at /admin/zinnia/entry/

    When one of entry has a comment, it happend.

    u"Your dictionary lacks key '1'. Please provide it, because it is required to determine whether string is singular or plural."

    /usr/lib64/python2.7/site-packages/django_blog_zinnia-0.15.dev-py2.7.egg/zinnia/admin/entry.py in get_title {'title': entry.title, 'word_count': entry.word_count} reaction_count = (entry.comment_count + entry.pingback_count + entry.trackback_count) if reaction_count: return ungettext_lazy( '%(title)s (%(reactions)i reaction)', '%(title)s (%(reactions)i reactions)', reaction_count) % \ ... {'title': title, 'reactions': reaction_count} return title get_title.short_description = _('title') def get_authors(self, entry): ▼ Local vars Variable Value entry
    <Entry: iPad mini 2 with Retina Display 使用感受: 发布> self
    <zinnia.admin.entry.EntryAdmin object at 0x2bd0490> reaction_count
    1L title
    u'iPad mini 2 with Retina Display \u4f7f\u7528\u611f\u53d7 (25 \u4e2a\u5b57\u7b26)'

    Bug Admin 
    opened by mrgaolei 17
  • multiple Site problem

    multiple Site problem

    Hi, For multiples sites on the same code and db (example : bob.text.org, sam.text.org) the class views/entries/EntryDateDetail return 404 for not current site after click to read more. It happened because queryset = Entry.published.on_site() return None for current site with other id. After change to queryset = Entry.objects.all() everything is OK. Is it possible fix it?

    Thank you a lot.

    ICC Perimeter Wont fix 
    opened by yoza 17
  • New install on django-cms breaks site

    New install on django-cms breaks site

    I have installed zinnia as per the docs and the same way I always have done.

    I have synced and migrated my database and on standard pages not related to the blog, I get the error:

    "Caught DatabaseError while rendering: relation "zinnia_entry" does not exist LINE 1: ...te", "zinnia_entry"."content_placeholder_id" FROM "zinnia_en... ^"

    That relates to the "{% show_menu 0 100 100 100 %}" section of my templates.

    Now on the page where zinnia is aphooked, I get the error

    relation "zinnia_entry" does not exist LINE 1: SELECT COUNT(*) FROM "zinnia_entry" INNER JOIN "zinnia_entry...

    Using postgresql + south

    Database Documentation 
    opened by crooksey 17
  • Tagging not working on Python 3

    Tagging not working on Python 3

    Apparently Zinnia 0.14 was tagged but it doesn't work under Python 3 due to its dependency from django-tagging (see #281). If the solution is difficult, may I suggest stating that in the documentation?

    Improvement Documentation Tagging 
    opened by astrojuanlu 16
  • Caught AssertionError while rendering: latest()

    Caught AssertionError while rendering: latest()

    I am getting the following message. "TemplateSyntaxError at /admin/zinnia/ - Caught AssertionError while rendering: latest() requires either a field_name parameter or 'get_latest_by' in the model" Here is the Traceback: http://pastebin.com/2EqzPb84 I have installed Zinnia using "pip install -e git:/...", which means I have version 0.10. I get this error when I visit /en/admin/zinnia/. I tried executing "Entry.published.latest()" in the django shell and I get the same message.

    ICC 
    opened by justinm715 15
  • "django_content_type" does not exist

    I've got a fresh Django 1.8 installation, in a virtualenv with all deps successful. Running on Ubuntu 14.04.2 fwiw.

    The settings is pretty much default - apart from the db settings and the zinnia needs I've not added anything (actually, not true - Django 1.8 has no 'django.contrib.sites' in INSTALLED_APPS - needed to add that). 'django.contrib.contenttypes' is in INSTALLED_APPS by default.

    But I'm getting the error:

    django.db.utils.ProgrammingError: relation "django_content_type" does not exist

    ?

    Full output below:

    (df)datakid@coburg:~/www/df/df-site$ python manage.py migrate /home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django_comments/init.py:4: RemovedInDjango19Warning: django.utils.importlib will be removed in Django 1.9. from django.utils.importlib import import_module

    /home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django_comments/models.py:2: RemovedInDjango19Warning: django.contrib.contenttypes.generic is deprecated and will be removed in Django 1.9. Its contents have been moved to the fields, forms, and admin submodules of django.contrib.contenttypes. from django.contrib.contenttypes import generic

    /home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django_comments/models.py:46: RemovedInDjango19Warning: Model class django_comments.models.Comment doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Comment(BaseCommentAbstractModel):

    /home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django_comments/models.py:165: RemovedInDjango19Warning: Model class django_comments.models.CommentFlag doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class CommentFlag(models.Model):

    /home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django_comments/forms.py:3: RemovedInDjango19Warning: The django.forms.util module has been renamed. Use django.forms.utils instead. from django.forms.util import ErrorDict

    System check identified some issues:

    WARNINGS: zinnia.Entry.categories: (fields.W340) null has no effect on ManyToManyField. zinnia.Entry.related: (fields.W340) null has no effect on ManyToManyField. Operations to perform: Synchronize unmigrated apps: staticfiles, mptt, messages, django_comments, tagging Apply all migrations: sessions, admin, sites, auth, contenttypes, zinnia Synchronizing apps without migrations: Creating tables... Creating table django_comments Creating table django_comment_flags Creating table tagging_tag Creating table tagging_taggeditem Running deferred SQL... Traceback (most recent call last): File "manage.py", line 10, in execute_from_command_line(sys.argv) File "/home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django/core/management/init.py", line 338, in execute_from_command_line utility.execute() File "/home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django/core/management/init.py", line 330, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django/core/management/base.py", line 390, in run_from_argv self.execute(_args, *_cmd_options) File "/home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django/core/management/base.py", line 441, in execute output = self.handle(_args, *_options) File "/home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 179, in handle created_models = self.sync_apps(connection, executor.loader.unmigrated_apps) File "/home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 317, in sync_apps cursor.execute(statement) File "/home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 79, in execute return super(CursorDebugWrapper, self).execute(sql, params) File "/home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute return self.cursor.execute(sql, params) File "/home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django/db/utils.py", line 97, in exit six.reraise(dj_exc_type, dj_exc_value, traceback) File "/home/datakid/.virtualenvs/df/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 62, in execute return self.cursor.execute(sql) django.db.utils.ProgrammingError: relation "django_content_type" does not exist

    Tagging 
    opened by datakid 14
  • Added search form plugin

    Added search form plugin

    Hi,

    I forked your project to add more django-cms plugins like search form, calendar, etc. This way I can add them to my cms in a more modular fashion, instead of having to integrate the whole toolbar..

    This pull request adds a super simple plugin providing the search form.

    Best regards Mauro

    Improvement 
    opened by bianchimro 14
  • Bump pillow from 7.0.0 to 9.3.0 in /docs

    Bump pillow from 7.0.0 to 9.3.0 in /docs

    Bumps pillow from 7.0.0 to 9.3.0.

    Release notes

    Sourced from pillow's releases.

    9.3.0

    https://pillow.readthedocs.io/en/stable/releasenotes/9.3.0.html

    Changes

    ... (truncated)

    Changelog

    Sourced from pillow's changelog.

    9.3.0 (2022-10-29)

    • Limit SAMPLESPERPIXEL to avoid runtime DOS #6700 [wiredfool]

    • Initialize libtiff buffer when saving #6699 [radarhere]

    • Inline fname2char to fix memory leak #6329 [nulano]

    • Fix memory leaks related to text features #6330 [nulano]

    • Use double quotes for version check on old CPython on Windows #6695 [hugovk]

    • Remove backup implementation of Round for Windows platforms #6693 [cgohlke]

    • Fixed set_variation_by_name offset #6445 [radarhere]

    • Fix malloc in _imagingft.c:font_setvaraxes #6690 [cgohlke]

    • Release Python GIL when converting images using matrix operations #6418 [hmaarrfk]

    • Added ExifTags enums #6630 [radarhere]

    • Do not modify previous frame when calculating delta in PNG #6683 [radarhere]

    • Added support for reading BMP images with RLE4 compression #6674 [npjg, radarhere]

    • Decode JPEG compressed BLP1 data in original mode #6678 [radarhere]

    • Added GPS TIFF tag info #6661 [radarhere]

    • Added conversion between RGB/RGBA/RGBX and LAB #6647 [radarhere]

    • Do not attempt normalization if mode is already normal #6644 [radarhere]

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies python 
    opened by dependabot[bot] 0
  • Django 4 Support

    Django 4 Support

    What is the purpose of your pull request?

    • [ ] Bug fix
    • [x] New feature

    Proposed changes

    Warning

    Before submitting a pull request make sure you have:

    • [ ] Read the guidelines for contributing.
    • [ ] Wrote some tests.
    • [ ] Respected the PEP 8.
    opened by jackkinsella 0
  • docs: Fix a few typos

    docs: Fix a few typos

    There are small typos in:

    • docs/how-to/customize_look_and_feel.rst
    • docs/how-to/rewriting_entry_url.rst
    • docs/index.rst
    • docs/notes/faq.rst
    • zinnia/markups.py
    • zinnia/models/entry.py
    • zinnia/models_bases/entry.py
    • zinnia/static/zinnia/admin/dashboard/js/masonry.pkgd.js
    • zinnia/views/mixins/entry_protection.py

    Fixes:

    • Should read different rather than differents.
    • Should read upon rather than uppon.
    • Should read reimplementing rather than reimplemting.
    • Should read optionally rather than optionnally.
    • Should read multilingual rather than multiplingual.
    • Should read initialized rather than initalized.
    • Should read inheritance rather than inheritence.
    • Should read implementing rather than implemeting.
    • Should read implementation rather than implemention.

    Semi-automated pull request generated by https://github.com/timgates42/meticulous/blob/master/docs/NOTE.md

    opened by timgates42 0
  • Django Blog Zinnia 2022 / Django 4.0 Support PR

    Django Blog Zinnia 2022 / Django 4.0 Support PR

    This pull request brings this project up to date with the latest version of Django 4.0. Please go to DjangoBlogZinnia.com for documentation and other updates.

    opened by elarroba 0
  • Visit the New UPDATED Django Blog Zinnia Fork as of 2022

    Visit the New UPDATED Django Blog Zinnia Fork as of 2022

    opened by elarroba 5
A Django blog app implemented in Wagtail

Puput Puput is a powerful and simple Django app to manage a blog. It uses the awesome Wagtail CMS as content management system. Puput is the catalan n

APSL 535 Jan 8, 2023
wger Workout Manager is a free, open source web application that helps you manage your personal workouts, weight and diet plans and can also be used as a simple gym management utility.

wger (ˈvɛɡɐ) Workout Manager is a free, open source web application that helps you manage your personal workouts, weight and diet plans and can also be used as a simple gym management utility.

wger Project 2k Dec 29, 2022
Set of Web-backend projects to implement micro-blogging site

Mini-Twitter This repository contains a set of projects covered for CPSC-449 Web-Backend development under the guidance of Prof. Kenytt Avery at CSU,

null 1 Nov 7, 2021
Library Management system designed for managing and operating various aspects of a library

Proposal This proposal is written to clarify the project work of Information Systems, assigned to us as an individual task in order to tackle the case

Prawal 1 Oct 27, 2021
Kotti is a high-level, Pythonic web application framework based on Pyramid and SQLAlchemy. It includes an extensible Content Management System called the Kotti CMS.

Kotti Kotti is a high-level, Pythonic web application framework based on Pyramid and SQLAlchemy. It includes an extensible Content Management System c

Kotti 394 Jan 7, 2023
A full stack e-learning application, this is the backend using django restframework and docker.

DevsPrime API API Service backing client interfaces Technologies Python 3.9 : Base programming language for development Bash Scripting : Create conven

Nnabue Favour Chukwuemeka 1 Oct 21, 2021
A course management web application

umber a course management web app built with python Flask, sqlite3, and git. installation Tested on Ubuntu 18 with python 3.5. # -- Install the system

Jim Mahoney 6 Jun 3, 2022
Ella is a CMS based on Python web framework Django with a main focus on high-traffic news websites and Internet magazines.

Ella CMS Ella is opensource CMS based on Django framework, designed for flexibility. It is composed from several modules: Ella core is the main module

null 295 Oct 16, 2022
Ticket shop application for conferences, festivals, concerts, tech events, shows, exhibitions, workshops, barcamps, etc.

pretix Reinventing ticket presales, one ticket at a time. Project status & release cycle While there is always a lot to do and improve on, pretix by n

pretix 1.3k Jan 1, 2023
A self-hosted application that lets you create podcast RSS feeds from YouTube playlists

Playlist2Podcast A self-hosted application that lets you create podcast RSS feeds from YouTube playlists. What Does This Do? Takes a list of YouTube p

Simon 12 Nov 14, 2022
A Django-based CMS with a focus on extensibility and concise code

FeinCMS - An extensible Django-based CMS When was the last time, that a pre-built software package you wanted to use got many things right, but in the

FeinCMS 847 Jan 7, 2023
A Django content management system focused on flexibility and user experience

Wagtail is an open source content management system built on Django, with a strong community and commercial support. It's focused on user experience,

Wagtail 13.8k Jan 1, 2023
A modular, high performance, headless e-commerce platform built with Python, GraphQL, Django, and ReactJS.

Saleor Commerce Customer-centric e-commerce on a modern stack A headless, GraphQL-first e-commerce platform delivering ultra-fast, dynamic, personaliz

Mirumee Labs 17.8k Jan 7, 2023
An open source CMS, in python and integrable in Django

Python CMS based on the Django Framework

Titouan Bénard 0 Sep 10, 2021
Django e-commerce website with Advanced Features and SEO Friendly

MyTech® - Your Technology Django e-commerce website with Advanced Features and SEO Friendly Images and Prices are only used for Demo purpose and does

null 28 Dec 21, 2022
Indico - A feature-rich event management system, made @ CERN, the place where the Web was born.

Indico Indico is: ? a general-purpose event management tool; ? fully web-based; ? feature-rich but also extensible through the use of plugins; ⚖️ O

Indico 1.4k Dec 31, 2022
CMS framework for Django

Created by Stephen McDonald Overview Mezzanine is a powerful, consistent, and flexible content management platform. Built using the Django framework,

Stephen McDonald 4.6k Dec 29, 2022
Open Source CRM based on Django

Django-CRM Django CRM is opensource CRM developed on django framework. It has all the basic features of CRM to start with. We welcome code contributio

MicroPyramid 1.4k Dec 31, 2022
Random tarot card generator + rudimentary Django CMS

TAROT JUICER This is a rudimentary Django-based CMS which dynamically presents tarot-related content placed onto unconventional but familiar contexts

Kyle Rafa Lazaro 7 Apr 26, 2022