После 2х дней изучения “project версии” получилось запустить DjangoBB в виде отдельного app-a. Часть ошибок решил сам, но есть некоторые нерешенные моменты, с которыми прошу помочь разобраться.
Использую:
Django 1.8.4
django_haystack-2.3.1
Pillow-2.9.0
postmarkup-1.2.2
Pygments-2.0.2
pytz-2015.4
django_pagination_py3-1.1.1
django_allauth-0.23.0
django_messages-0.5.1
На момент написания данного поста settings.py выглядит так
INSTALLED_APPS = [ 'django.contrib.sites', #required by django-allauth 'django.contrib.sitemaps', 'django.contrib.admindocs', 'django.contrib.humanize', 'allauth', 'allauth.account', 'allauth.socialaccount', 'allauth.socialaccount.providers.openid', 'allauth.socialaccount.providers.facebook', 'allauth.socialaccount.providers.google', 'allauth.socialaccount.providers.twitter', 'allauth.socialaccount.providers.vk', 'pagination', 'haystack', 'django_messages', #'nocaptcha_recaptcha', found just in project, but not in App\Stable 'djangobb_forum', ] TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', #also required by django-allauth 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', #DjangoBB_Forum part 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django_messages.context_processors.inbox', # 'allauth.account.context_processors.account', #dropped since 0.21 # 'allauth.socialaccount.context_processors.socialaccount', #dropped since 0.21 'djangobb_forum.context_processors.forum_settings', ], }, }, ] STATIC_ROOT = "/home/antonio/projects/badabum.com/static/" STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"), ) # List of finder classes that know how to find static files in # various locations. # STATICFILES_FINDERS = ( # 'django.contrib.staticfiles.finders.FileSystemFinder', # 'django.contrib.staticfiles.finders.AppDirectoriesFinder', # 'django.contrib.staticfiles.finders.DefaultStorageFinder', # ) MEDIA_ROOT = '/home/antonio/projects/badabum.com/media/' MEDIA_URL = '/media/' HAYSTACK_CONNECTIONS = { 'default': { 'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', 'PATH': os.path.join(BASE_DIR+'djangobb_forum/', 'djangobb_index'), 'INCLUDE_SPELLING': True, }, } HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor' # Account settings ACCOUNT_ACTIVATION_DAYS = 10 LOGIN_REDIRECT_URL = '/forum/' LOGIN_URL = '/forum/account/signin/' #According to http://django-allauth.readthedocs.org/en/latest/installation.html AUTHENTICATION_BACKENDS = ( # Needed to login by username in Django admin, regardless of `allauth` 'django.contrib.auth.backends.ModelBackend', # `allauth` specific authentication methods, such as login by e-mail 'allauth.account.auth_backends.AuthenticationBackend', ) # Cache settings CACHE_MIDDLEWARE_ANONYMOUS_ONLY = True # Если раскомментировать код ниже (который взят из settings.py project ветки), то какую бы страницу сайта не открывал, # получаю "A server error occurred. Please contact the administrator." # ACCOUNT_LOGOUT_ON_GET = True # ACCOUNT_EMAIL_REQUIRED = True # ACCOUNT_SIGNUP_FORM_CLASS = 'forms.SignupForm' # # try: # from local_settings import * # except ImportError: # pass
Главная urls.py выглядит на данный момент так:
from django.conf.urls import include, url from django.contrib import admin #DjangoBB_Forum from django.conf import settings from django.conf.urls.static import static from djangobb_forum import settings as forum_settings from djangobb_forum.sitemap import SitemapForum, SitemapTopic urlpatterns = [ #Admin url(r'^admin/', include(admin.site.urls)), #Apps url(r'^places/', include('app_places.urls')), url(r'^shows/', include('app_shows_and_times.urls')), # url(r'^', include('app_shows_and_times.urls')), #DjangoBB_Forum #url(r'^accounts/', include('allauth.urls')), url(r'^forum/account/', include('allauth.urls')), url(r'^forum/', include('djangobb_forum.urls', namespace='djangobb')), #DjangoBB_Forum Sitemap # url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}), ] # PM Extension if (forum_settings.PM_SUPPORT): urlpatterns += url(r'^forum/pm/', include('django_messages.urls')), if (settings.DEBUG): urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Exception Type: AttributeError
Exception Value:
'WSGIRequest' object has no attribute ‘page’
Error during template rendering
In template /home/antonio/projects/badabum.com/badabum.com/src/djangobb_forum/templates/djangobb_forum/users.html, error at line 7
Если его закомментировать, то страница грузится без ошибки.
Куда глядеть?
в /home/antonio/projects/badabum.com/badabum.com/src/djangobb_forum/templates/djangobb_forum/header.html я не нашел.
{% block menu %} <li id="navindex"><a href="{% url 'djangobb:index' %}">{% trans "Index" %}</a></li> <li id="navuserlist"><a href="{% url 'djangobb:forum_users' %}">{% trans "User list" %}</a></li> <li id="navsearch"><a href="{% url 'djangobb:search' %}">{% trans "Search" %}</a></li> {% if user.is_superuser %} <li id="navadmin"><a href="{% url 'admin:index' %}">{% trans "Administration" %}</a></li> {% endif %} {% if user.is_authenticated %} <li id="navprofile"><a href="{% url 'djangobb:forum_profile' user.username %}">{% trans "Profile" %}</a></li> {% if forum_settings.PM_SUPPORT %} <li id="navpm"><a href="{% url 'messages_inbox' %}">{% trans "PM" %}</a></li> {% endif %} {% endif %} {% endblock %}
Menu:
Change E-mail
Sign Out
Входящие
Сообщений нет.
В /src/djangobb_forum/templates/django_messages лежат измененные шаблоны, которые должны перезаписывать стандартные шаблоны из lib/python3.4/site-packages/django_messages/templates/django_messages
НО не перезаписывают.
Если я переношу шаблоны из /src/djangobb_forum/templates/django_messages в /src/templates/django_messages, то шаблоны подхватываются.
Насколько я могу понимать, они должны подхватываться в том месте, где они лежат. Что этому мешает? settings.py приведен выше.
П.С.: Так как в интернете то “тут” то “там” люди спрашивают, как установить этот форум, то как только будут решены все проблемы, обещаю выложить подробную инструкцию как минимум на английском языке (если будут какие то сложные описания установки, то еще и на русском).
Благодарю.