This module allows you to manage django-comments-xtd comments into the Wagtail admin UI. Tested on Wagtail 2.2.
pip install comments_wagtail_xtd
Add 'comments_wagtail_xtd' to your INSTALLED_APPS
Add 'wagtailfontawesome' to INSTALLED_APPS if it's not there already
-
Enable the "sites" framework <enabling-the-sites-framework> by adding
'django.contrib.sites'to INSTALLED_APPS and defining SITE_ID. Visit the admin site and be sure that the domain field of theSiteinstance points to the correct domain (localhost:8000when running the default development server), as it will be used to create comment verification URLs, follow-up cancellations, etc. -
Add
'django_comments_xtd'and'django_comments', in that order, to INSTALLED_APPS. -
Set the COMMENTS_APP setting to
'django_comments_xtd'. -
Set the COMMENTS_XTD_MAX_THREAD_LEVEL to
N, beingNthe maximum level of threading up to which comments will be nested in your project.# 0: No nested comments: # Comment (level 0) # 1: Nested up to level one: # Comment (level 0) # |-- Comment (level 1) # 2: Nested up to level two: # Comment (level 0) # |-- Comment (level 1) # |-- Comment (level 2) COMMENTS_XTD_MAX_THREAD_LEVEL = 2The thread level can also be established on a per
<app>.<model>basis by using the COMMENTS_XTD_MAX_THREAD_LEVEL_BY_APP_MODEL setting. Use it to establish different maximum threading levels for each model. ie: no nested comments for quotes, up to thread level 2 for blog stories, etc. -
Set the COMMENTS_XTD_CONFIRM_EMAIL to
Trueto require comment confirmation by email for no logged-in users. -
Run
manage.py migrateto create the tables. -
Add the URLs of the comments-xtd app to your project’s
urls.py:urlpatterns = [ ... url(r'^comments/', include('django_comments_xtd.urls')), ... ] -
Customize your project’s email settings:
EMAIL_HOST = "smtp.mail.com" EMAIL_PORT = "587" EMAIL_HOST_USER = "[email protected]" EMAIL_HOST_PASSWORD = "yourpassword" DEFAULT_FROM_EMAIL = "Helpdesk <helpdesk@yourdomain>" -
Now go to your models.py and add:
class BlogPost(Page): ... ... @property def blog_index(self): return self.get_ancestors().type(BlogCategory).last() def get_absolute_url(self): return self.full_url ...Change BlogCategory and BlogPost to yours.
-
Open you.web.site/django-admin/ and got to Sites. Check if there everything is okay.

