Найти - Пользователи
Полная версия: [Решено][Инструкция прилагается] DjangoBB - есть некоторые проблемы. Помогите донастроить. С меня полная инструкция.
Начало » Django » [Решено][Инструкция прилагается] DjangoBB - есть некоторые проблемы. Помогите донастроить. С меня полная инструкция.
1
TitanFighter
Добрый день.
После 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)

Проблема №1: Решено
Вверху страницы, где “Главная Пользователи Найти”, когда нажимаю “Пользователи”, получаю
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
Ругается на вот этот тег {% autopaginate users forum_settings.USERS_PAGE_SIZE %}
Если его закомментировать, то страница грузится без ошибки.
Куда глядеть?


Проблема №2: Решено
На http://python.su/forum есть линки “Войти” и “Sign up” в верху страницы в строке “Главная Пользователи Найти Войти Sign up”. Ничего связанного с “Войти” и “Sign up”, и соответственно с “Выйти”
в /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 %}
Как добавить на форум недостающие ссылки? Я ж не думаю, что хардкодом.

Проблема №3: Решено
Подключил Приватные Письма, но при переходе по ссылке получаю голый HTML, в котором рендерится всего 5 строк
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 приведен выше.


Проблема №4: Решено
Как DjangoBB переключить на русский? 90% сейчас на английском языке

П.С.: Так как в интернете то “тут” то “там” люди спрашивают, как установить этот форум, то как только будут решены все проблемы, обещаю выложить подробную инструкцию как минимум на английском языке (если будут какие то сложные описания установки, то еще и на русском).

Благодарю.
iho3
LANGUAGE_CODE = ‘ru’
TitanFighter
Поднял я DjangoBB. Попутно почти завершив инструкцию (поправить, дополнить и норм будет).
Будет аля в двух версиях:
1) для добавления DjangoBB как Аппликухи на готовый сайт,
2) в качестве готового сайта сам по себе

Не решил, вроде, только одну проблему - 90% на английском языке, при том что эта проблема возникает, вроде (уже ночь, не помню наверняка, завтра перепроверю) только если ставить djangobb как отдельное приложение.
Ну вот например если зайти в ПП (в этом разделе это ярко видно), то можно увидеть:


iho3 пробовал и так как вы предложили и как я только не пробовал.
Если USE_I18N сделать False, все 100% становиться инглишем, если вернуть обратно в True и пробовать менять значения LANGUAGE_CODE на ‘ru’ или ‘ru_RU’ или ‘uk_UA’ ну и тд, то ничего не меняется.
В профиле пользователя выбирал разные языки - ноль реакции, т.е. вообще ноль, как было 90\10 англ\рус, так и остается.
Подскажите пожалуйста, куда все таки можно глянуть с этими языками?

Едит:
Заметил странную ерунду.
Выбираю в профиле язык, например Czech, нажимаю Submit идет Перезагрузка страницы, и селектор выдает English!!! Делаю Ctrl+R (перегружаю страницу) и селектор уже Czech.
Потом выбираю к примеру Polish, нажимаю Submit, страница перезагружается и опять English, делаю CTRL+R, и выдает Czech. Загадка какая то. Как будто идет какая-то рассинхронизация. Еще при сабмите я словил ошибку CSRF. Может кого-то натолкнет на мысль, что проверить?
iho3
Выбираю в профиле язык, например Czech, нажимаю Submit идет Перезагрузка страницы, и селектор выдает English!!! Делаю Ctrl+R (перегружаю страницу) и селектор уже Czech.
Ну так на етом форуме тоже не работает.
TitanFighter
iho3
Выбираю в профиле язык, например Czech, нажимаю Submit идет Перезагрузка страницы, и селектор выдает English!!! Делаю Ctrl+R (перегружаю страницу) и селектор уже Czech.
Ну так на етом форуме тоже не работает.
Забавно) Ну да ладно ту настройку в профиле, интерфейс то этого сайта полностью на русском, а не так как сейчас у меня, английский с вкраплением русского
iho3
Мне кажеться локали в пакет не кладут и тебе надо их скачать с Transifex.
https://www.transifex.com/slav0nic/djangobb/
TitanFighter
iho3
Мне кажеться локали в пакет не кладут и тебе надо их скачать с Transifex.
https://www.transifex.com/slav0nic/djangobb/
https://bitbucket.org/slav0nic/djangobb/src/a10386353723cac3f8e4f5b16ac1578ceeb18043/djangobb_forum/locale/?at=default Вот эти идут в пакете. В них реальный перевод а не “пустышки”.
__________________

Едит:
Разобрался я с языком. Отсутствовали файлы с расширением .mo в локалях. Первый раз имею дело с этим форматом.
TitanFighter
Пишу мануал. Напрашиваются 4 версии установки DjangoBB:
- 2 как отдельное приложение через setup.py и вручную
- 2 как целый сайт на базе апликухи, так же через setup.py и вручную

Вопрос: есть ли существенная разница между setup.py и pip install -r requirements.txt?
Setup.py создает еще тучу файлов и папок. Они для чего то нужны? Может эта “туча” как то помогает с Git работать?
iho3
TitanFighter
Пишу мануал.
Никому не надо. Есть же несколько мануалов уже.
TitanFighter
iho3
Никому не надо. Есть же несколько мануалов уже.
Несколько я сам находил, но они устаревшие.

ЕДИТ:
Написал я мануал.
Пока кинул сюда
Там одна из 4х версий установки (ручками добавляем DjangoBB_Forum в существующий проект).
Если кому то нужны будут остальные 3 версии (которые на 90-95% похожи по своей сути на версию, что я выложил) - пишите. Мануал по ним все равно готов.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB