Skip to main content

Django Comment System, It can be associated with any given model.

Project description

Installation & Configuration

  1. Install using pip

    python -m pip install django-comment-system

    or Clone the repository and copy comment folder and paste in project folder.

    git clone https://github.com/mahyar-amiri/django-comment-system.git
  2. Add comment.apps.CommentConfig to installed_apps in the settings.py file after django.contrib.auth.

    # setting.py
    
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
    
        # MY APPS
        'comment.apps.CommentConfig',
    ]
    
    # your account login url
    LOGIN_URL = 'admin:login'  # or reverse_lazy('admin:login')
    
    MEDIA_URL = '/media/'
    MEDIA_ROOT = BASE_DIR / 'media'
  3. Add path('comment/', include('comment.urls')), to urlpatterns in the urls.py file.

    # urls.py
    
    from django.urls import path, include
    
    urlpatterns = [
         path('comment/', include('comment.urls')),
    ]
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  4. Connect comments to target model. In models.py add the field comments as a GenericRelation field to the required model.

    NOTE: Please note that the field name must be comments NOT comment.

    # models.py
    
    from django.db import models
    from django.contrib.contenttypes.fields import GenericRelation
    from comment.models import Comment
    
    class Article(models.Model):
        title = models.CharField(max_length=20)
        content = models.TextField()
        # the field name should be comments
        comments = GenericRelation(Comment)
  5. Do migrations

    python manage.py migrate

Usage

  1. In the template (e.g. post_detail.html) add the following template tags where obj is the instance of post model.

    {% load comment_tags %}
  2. Add the following template tags where you want to render comments.

    {% render_comments request obj settings_slug='default-config' %}  {# Render all the comments belong to the passed object "obj" #}

    if your context_object_name is not obj (e.g article) replace obj with context_object_name.

    {% render_comments request obj=article settings_slug='default-config' %}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-comment-system-2.10.4.tar.gz (957.9 kB view details)

Uploaded Source

Built Distribution

django_comment_system-2.10.4-py3-none-any.whl (969.3 kB view details)

Uploaded Python 3

File details

Details for the file django-comment-system-2.10.4.tar.gz.

File metadata

File hashes

Hashes for django-comment-system-2.10.4.tar.gz
Algorithm Hash digest
SHA256 8621e1c3e481379f157254c9a0080f8d1d80ea2b0272a5794c611bb290b961d1
MD5 0bf879b3d7d6058200cff32ff45a9a44
BLAKE2b-256 6940cf2f578ac237b074ce0bbe89b9c0ae507272c4433c59459424846888ff17

See more details on using hashes here.

File details

Details for the file django_comment_system-2.10.4-py3-none-any.whl.

File metadata

File hashes

Hashes for django_comment_system-2.10.4-py3-none-any.whl
Algorithm Hash digest
SHA256 34c0e3ed2d52d50604a8b55b93ac8c1f2e3e1a777dc2a2010d99c79e37720d78
MD5 909e23fc5821e2074e033f0d5f7ac66d
BLAKE2b-256 5c5a1955f2854a05461c537613438d0b9b5e8e1885b944040aa255de61d9e67a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page