利用djangobb快速搭建论坛
2015-05-29 13:24
489 查看
djangobb的网上安装与配置方法都已经过期了,初次安装djangobb时,遇到各种问题,最终顺利通过。现在把安装、配置过程梳理,整理如下:
1. djangobb有2种安装方式app或project。(app、project分别对应django的开发概念,如果不清楚,看django文档脑补一下)我这里选择app方式,需要使用django先生成一个project,名为myforum。
2. 从官方库中检出djangobb最新代码
3. 查看djangobb/requirements.txt以及requirements_optional.txt文档,查看所需依赖,使用pip安装。依赖包括:
4. 除了上面所说的依赖外,还需要以下依赖:
1. django-mailer
不能使用pip进行安装,pip里面的是0.1.0版本较老,从官网库https://github.com/pinax/django-mailer.git中下载,再安装。
2. 垂直搜索引擎
djangobb推荐采用whoosh,我这里使用solr作为垂直搜索引擎。从官网下载solr程序包,执行./bin/solr start,便可启动垂直搜索引擎。
5. 在myforum项目下(manage.py所在目录)建个软链链接到djangobb/djangobb_form;
6. 将djangobb/projects/basic_project/下面的media、templates、forms.py拷贝到myforum目录下;
7. 将djangobb/projects/basic_project/urls.py拷贝到myforum/myforum目录下;
8. 对照djangobb/projects/basic_project/settings.py修改myforum/settings.py,修改后的配置文件如下:
1. djangobb有2种安装方式app或project。(app、project分别对应django的开发概念,如果不清楚,看django文档脑补一下)我这里选择app方式,需要使用django先生成一个project,名为myforum。
2. 从官方库中检出djangobb最新代码
hg clone ssh://hg@bitbucket.org/slav0nic/djangobb
3. 查看djangobb/requirements.txt以及requirements_optional.txt文档,查看所需依赖,使用pip安装。依赖包括:
Django>=1.6,<1.9 django-haystack>=2.1.0,<2.4 Pillow>=2.1.0 postmarkup pygments pytz>=2015.4 django-pagination-py3==1.1.1 django-allauth django-messages
4. 除了上面所说的依赖外,还需要以下依赖:
1. django-mailer
不能使用pip进行安装,pip里面的是0.1.0版本较老,从官网库https://github.com/pinax/django-mailer.git中下载,再安装。
2. 垂直搜索引擎
djangobb推荐采用whoosh,我这里使用solr作为垂直搜索引擎。从官网下载solr程序包,执行./bin/solr start,便可启动垂直搜索引擎。
5. 在myforum项目下(manage.py所在目录)建个软链链接到djangobb/djangobb_form;
6. 将djangobb/projects/basic_project/下面的media、templates、forms.py拷贝到myforum目录下;
7. 将djangobb/projects/basic_project/urls.py拷贝到myforum/myforum目录下;
8. 对照djangobb/projects/basic_project/settings.py修改myforum/settings.py,修改后的配置文件如下:
""" Django settings for myforum project. Generated by 'django-admin startproject' using Django 1.8.2. For more information on this file, see https://docs.djangoproject.com/en/1.8/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/1.8/ref/settings/ """ # Build paths inside the project like this: os.path.join(BASE_DIR, ...) import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = '=&n1^+*+wb4e*3=^s#0r(r&c-pr1k2$!azpo6gkgck$4a3wm&a' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = [] ADMINS = ( ('your name', 'your email address'), ) # Application definition INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sitemaps', 'django.contrib.sites', 'allauth', 'allauth.account', 'allauth.socialaccount', 'allauth.socialaccount.providers.openid', 'allauth.socialaccount.providers.github', 'pagination', 'haystack', 'django_messages', 'djangobb_forum' ) MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'pagination.middleware.PaginationMiddleware', 'djangobb_forum.middleware.LastLoginMiddleware', 'djangobb_forum.middleware.UsersOnline', 'djangobb_forum.middleware.TimezoneMiddleware', ) ROOT_URLCONF = 'myforum.urls' 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', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', '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', 'allauth.socialaccount.context_processors.socialaccount', 'djangobb_forum.context_processors.forum_settings', ], }, }, ] WSGI_APPLICATION = 'myforum.wsgi.application' # Database # https://docs.djangoproject.com/en/1.8/ref/settings/#databases DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } # Internationalization # https://docs.djangoproject.com/en/1.8/topics/i18n/ LANGUAGE_CODE = 'zh-CN' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True SITE_ID = 1 # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.8/howto/static-files/ STATIC_URL = '/static/' STATIC_ROOT 4000 = '' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/' HAYSTACK_CONNECTIONS = { 'default': { 'ENGINE': 'haystack.backends.solr_backend.SolrEngine', 'URL': 'http://127.0.0.1:8983/solr', }, } # Account settings ACCOUNT_ACTIVATION_DAYS = 7 LOGIN_REDIRECT_URL = '/forum/' LOGIN_URL = '/forum/account/signin/' AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend', ) # Allauth ACCOUNT_LOGOUT_ON_GET = True ACCOUNT_EMAIL_REQUIRED = True ACCOUNT_SIGNUP_FORM_CLASS = 'forms.SignupForm' # mail try: import mailer INSTALLED_APPS += ('mailer',) EMAIL_BACKEND = "mailer.backend.DbBackend" except ImportError: pass try: from local_settings import * except ImportError: pass
相关文章推荐
- [游戏资讯]《极品飞车16:亡命狂飙》配置需求公布
- 路由器备份配置
- 路由器的基本配置
- 路由器基础配置及传输协议
- 经典配置 Vlan篇
- 备份线路的配置
- 交换机如何配置 新手配置交换机详细教程
- 如何进行系统配置
- 路由器的配置与调试
- DOS下内存的配置
- IIS配置文件隐患
- Windows下Postgresql数据库的下载与配置方法
- redis中修改配置文件中的端口号 密码方法
- 解析如何在sqlserver代理中配置邮件会话
- C#自定读取配置文件类实例
- 运行Node.js的IIS扩展iisnode安装配置笔记
- Extjs4 GridPanel的主要配置参数详细介绍
- 网络配置文件快速解读
- php中的ini配置原理详解