{"id":15679884,"url":"https://github.com/nekmo/djangocms-comments","last_synced_at":"2025-09-18T22:31:53.031Z","repository":{"id":6341402,"uuid":"55301496","full_name":"Nekmo/djangocms-comments","owner":"Nekmo","description":"DjangoCMS Comments Module","archived":false,"fork":false,"pushed_at":"2022-12-26T20:25:20.000Z","size":143,"stargazers_count":11,"open_issues_count":8,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-31T22:08:48.505Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nekmo.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-04-02T15:23:53.000Z","updated_at":"2023-05-12T20:58:17.000Z","dependencies_parsed_at":"2022-09-01T07:00:21.672Z","dependency_job_id":null,"html_url":"https://github.com/Nekmo/djangocms-comments","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/Nekmo/djangocms-comments","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nekmo%2Fdjangocms-comments","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nekmo%2Fdjangocms-comments/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nekmo%2Fdjangocms-comments/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nekmo%2Fdjangocms-comments/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nekmo","download_url":"https://codeload.github.com/Nekmo/djangocms-comments/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nekmo%2Fdjangocms-comments/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275844233,"owners_count":25538990,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T16:38:42.909Z","updated_at":"2025-09-18T22:31:52.920Z","avatar_url":"https://github.com/Nekmo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. image:: https://img.shields.io/travis/Nekmo/djangocms-comments.svg?style=flat-square\u0026maxAge=2592000\n  :target: https://travis-ci.org/Nekmo/djangocms-comments\n  :alt: Latest Travis CI build status\n\n.. image:: https://img.shields.io/pypi/v/djangocms-comments.svg?style=flat-square\n  :target: https://pypi.python.org/pypi/djangocms-comments\n  :alt: Latest PyPI version\n\n.. image:: https://img.shields.io/pypi/pyversions/djangocms-comments.svg?style=flat-square\n  :target: https://pypi.python.org/pypi/djangocms-comments\n  :alt: Python versions\n\n.. image:: https://img.shields.io/codeclimate/github/Nekmo/djangocms-comments.svg?style=flat-square\n  :target: https://codeclimate.com/github/Nekmo/djangocms-comments\n  :alt: Code Climate\n\n.. image:: https://img.shields.io/codecov/c/github/Nekmo/djangocms-comments/master.svg?style=flat-square\n  :target: https://codecov.io/github/Nekmo/djangocms-comments\n  :alt: Test coverage\n\n.. image:: https://img.shields.io/requires/github/Nekmo/djangocms-comments.svg?style=flat-square\n     :target: https://requires.io/github/Nekmo/djangocms-comments/requirements/?branch=master\n     :alt: Requirements Status\n\n.. role:: strike\n    :class: strike\n\nDjangoCMS Comments\n==================\nA comment system for Django CMS unintrusive and easy to use.\nAdd it to your pages without modifying your models. It is highly customizable!\n\nThese are the principles of Django CMS Comments:\n\n- It does not require javascript to work (but it is recommended).\n- Almost everything is customizable.\n- Anonymous users can post comments.\n- It is easy to use and install.\n- Comments really are in your website.\n\nExample: http://nekmo.com/es/blog/demo-page/\n\nInstallation\n============\nYou can install DjangoCMS-Comments From **Pypi**::\n\n  pip install djangocms-comments\n\n...Or you can install directly from **source**::\n\n  git clone https://github.com/Nekmo/djangocms-comments.git\n  cd djangocms-comments\n  python setup.py install\n\nYou can also install it from **Aldryn cloud**:\n\nhttps://marketplace.django-cms.org/en/addons/browse/djangocms-comments/\n\nOptional depends\n----------------\n\n* **user-agents==1.0.1**: Improved description of user agent in the comments.\n* **pykismet3==0.1.1**: Akismet support.\n* **aldryn-boilerplates\u003e=0.7.4**: Bootstrap3 theme.\n\nAll optional depends::\n\n  pip install user-agents==1.0.1 pykismet3==0.1.1 aldryn-boilerplates\u003e=0.7.4\n\n\nConfiguration\n=============\nFirst you need to add ``djangocms_comments`` to your INSTALLED_APPS::\n\n  INSTALLED_APPS = [\n      # ...\n      'djangocms_comments',\n  ]\n\nNow run migrations::\n\n  python manage.py migrate\n\nAdd to your urlpatterns::\n\n  urlpatterns = [\n      url(r'^djangocms_comments/', include('djangocms_comments.urls')),\n  ]\n\nThat's all!\n\nOptional: Akismet support\n-------------------------\n\n#. Install python-akismet: ``pip install python-akismet\u003e=0.2.1``.\n#. Create an account and get a API KEY: https://akismet.com/ (You don't need to pay)\n#. Add to your settings:\n\n.. code-block:: python\n\n  SPAM_PROTECTION = {\n      'default': {\n          'BACKEND': 'djangocms_comments.spam.Akismet',\n          'TOKEN': '1ba29d6f120c',\n      },\n  }\n\nOptional: Bootstrap3 theme usign Aldryn Boilerplates\n----------------------------------------------------\n\n#. Install aldryn-boilerplates: ``pip install aldryn-boilerplates\u003e=0.7.4``.\n#. Configure Aldryn Boilerplates: https://github.com/aldryn/aldryn-boilerplates\n\nUsage\n=====\nDjangoCMS-Comments includes a plugin. Add the plugin to a page, preferably in a \"static placeholder\".\n\nThe first time you add a plugin, you need to create a new configuration. You can create different configurations\nfor separate different comments lists on the same page.\n\n**For example, you have a blog with two languages. The posts are translated (the id is the same) and you need separate\ncomments. The solution is to create a plugin for each language with a different configuration.**\n\nComments will be associated to the instance in the page. That instance is necessary.\n\nTo make the relationship, DjangoCMS-Comments uses a ``GenericForeignKey``. If the primary key is not an integer, the\nrelationship will not work! However, this is not usual.\n\nSettings\n========\nYou can overwrite the following options in your settings file:\n\nhttps://github.com/Nekmo/djangocms-comments/blob/master/djangocms_comments/settings.py\n\nFeatures\n========\n- Anonymous and registers users comments.\n- Pretty comment administration.\n- Akismet support.\n- Moderation options: spam, hidden, soft deleted, edited...\n- Easy to add to any page.\n- Many customization options.\n- Separates comments systems by language and sites.\n- Pretty Bootstrap3 integration.\n\nTODO\n====\n- Social authentication (Twitter, Google, Facebook, Github...).\n- Reply comments.\n- Rich text.\n- Options for authentication methods (disable anonymous...).\n- Send notifications to admins (new comment, moderation required...).\n- Sending messages to users (new answers, reply to my comment...).\n\nContribute\n==========\nPlease feel free to send a pull request. All suggestions are welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnekmo%2Fdjangocms-comments","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnekmo%2Fdjangocms-comments","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnekmo%2Fdjangocms-comments/lists"}