如何将djangobb集成到现有项目中?

2024-06-28 19:50:36 发布

您现在位置:Python中文网/ 问答频道 /正文

wget https://bitbucket.org/slav0nic/djangobb_project/get/tip.tar.gz
tar zxvf tip.tar.gz
cd slav0nic-djangobb_project-tip/
pip install -r requirements.txt
cd basic_project/
touch local_settings.py
 #set DATABASE
 ./manage.py syncdb --all
 ./manage.py collectstatic
 ./manage.py runserver

这是djangobb支持中提到的安装指南。我在安装了要求.txt. 如何将djangobb集成到我现有的项目中。所以这里需要帮助。在


Tags: pyhttpsorgtxtprojectbitbucketgetmanage
1条回答
网友
1楼 · 发布于 2024-06-28 19:50:36

在这里你可以找到我两个月前写的指南。现在我看到这个指南可以少走几步,但它不会改变结果:)所以我不认为有什么大的理由重写它。阅读指南后,如果您有任何问题,请提问。在


目前DjangoBB由2个Git组成:

  • 应用程序本身有3个分支(stable、default和bootstrap3)
  • 项目的2个分支(默认值和dimka665/********)

在本教程中,我们将使用DjangoBB的粗体版本。在

1)stable/default/botstrap3-表示DjangoBB_Forum作为应用程序本身。 稳定分支有最新版本的代码,所以让我们使用它。在

Source

Zip archive

2)默认-Django的框架项目结构和所有设置(网址.py, 设置.py,模板等)需要启动“djangob_论坛应用程序”。这只是项目的框架(类似于/管理.pystartproject)和这里的djangob_论坛作为应用程序不包括在内。在

Source

Zip archive

让我们下载两个归档文件,提取它们,并为方便起见,将我们拥有的2个文件夹(都有原始名称“slavonic djangobb-****)重命名为djangob_App for‘stable’App的分支,将其重命名为djangob_Project作为“default”项目的分支。(我们将合并两个档案的文件\数据)


安装。在

今天(2015年9月19日),Django的最新版本是1.8.4。本教程也100%适用于1.8.2和1.8.3。Django的早期版本没有测试过。在

现在Djangob_论坛要求如下:

  • Django>;=1.6,<;1.9(实际最新稳定版本为1.8.4)

  • django haystack>;=2.1.0,<;2.4(此版本的实际版本 教程是2.4)

  • 枕头>;=2.1.0(实际版本为2.9.0)
  • 上市后(实际版本为1.2.2)
  • pygments(实际版本为2.0.2)
  • pytz>;=2015.4(这是实际版本)
  • django-pagination-py3==1.1.1(此实际版本)
  • django allauth(实际版本为0.23.0)
  • django消息(实际版本为0.5.1)
  • django nocaptcha recaptcha(实际版本为0.0.18)
  • 呼(实际版本是2.7.0)

将DjangoBB_论坛集成到现有项目中最大的问题是设置,因为用户之间的设置不同。我把我的结构作为例子,准备好了网址.py以及设置.py使您能够轻松地将新设置与所有必要的解释集成到项目中。使用前设置.py下面,您需要用您的数据库设置更改数据库部分。在下面的更多内容中,您将看到第二个屏幕,其中包含文件夹\文件的标签,这些标签解释了要在其中更改什么设置.py在中,因为您肯定有另一个绝对路径,也可能有另一个相对路径。在

还要提到的是,在尖叫声中你会看到而不是“设置”/设置.py'文件,其他3个文件(默认值_设置.py, 开发.py, 生产.py). 在手册上说设置.py“我是说你的”设置.py“不管它叫什么,都要归档,而不是屏幕上的文件。在

我们项目的初始结构已准备好接受djangob_论坛(app_显示_和_时间,app_位置仅用于使我们添加djangob_论坛的现有项目的感觉): Initial project structer ready for DjangoBB_Forum

/src/布加加/网址.py在

"""bugaga URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/1.8/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
Including another URLconf
    1. Add an import:  from blog import urls as blog_urls
    2. Add a URL to urlpatterns:  url(r'^blog/', include(blog_urls))
"""

from django.conf.urls import *
from django.conf import settings
from django.contrib import admin
from django.conf.urls.static import static

from djangobb_forum import settings as forum_settings
from djangobb_forum.sitemap import SitemapForum, SitemapTopic


sitemaps = {
    'forum': SitemapForum,
    'topic': SitemapTopic,
}

urlpatterns = patterns('',
    # Admin
    url(r'^admin/', include(admin.site.urls)),

    # Sitemap
    url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),

    #My_Apps
    url(r'^places/', include('app_places.urls')),
    url(r'^shows/', include('app_shows_and_times.urls')),

    # DjangoBB_Forum
    url(r'^forum/account/', include('allauth.urls')),
    url(r'^forum/', include('djangobb_forum.urls', namespace='djangobb')),
)

# PM Extension
if (forum_settings.PM_SUPPORT):
    urlpatterns += patterns('',
        url(r'^forum/pm/', include('django_messages.urls')),
   )

if (settings.DEBUG):
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

/src/bugaga/设置/开发.py在

^{pr2}$

(0)假设我们在VirtualEnvironment中的某个地方有project_name/src文件夹(应该已经安装了(Python从v3.4开始就已经正确地内置了这个特性),我们将使用它作为项目文件夹。在

  1. 从中复制所有内容 djangobb_项目/基础_项目/媒体/* 到 /bugaga.com/media/

  2. 从中复制所有内容 Djangob_项目/基本项目/模板/* 到 /bugaga.com/src/templates/

  3. 复制 djangobb_项目/基本项目/表单.py 到 /bugaga.com/bugaga.com/src/settings/

  4. 复制自 djangobb_app/下一个东西:

    • “Djangob_论坛”文件夹
    • '要求.txt'文件
    • '要求_可选.txt'文件 到 /bugaga.com/bugaga.com/src/
  5. 现在你应该有下一个结构(新的东西用黑色箭头标记)

Project structure with integrated DjangoBB_Forum

  1. 激活您的virtenv(请参见步骤0)

  2. cd到'/bugaga.com/bugaga.com/src/'(这是我的项目路径)

  3. 运行'pip install-r要求.txt'(pip也应该在很久以前安装)

  4. 运行'pip install-r requirements_可选.txt'

  5. 运行“pip install django nocaptcha recaptcha”

  6. 运行“pip install whoosh”

  7. 在'/bugaga.com/bugaga.com/src/'创建文件'机密.txt'并在那里放置任何您喜欢的随机字符串,例如“asd423llkmasdi2”

  8. 现在试试看/管理.py运行服务器并打开http://127.0.0.1:8000/forum/。如果出现以下错误: settings.数据库配置不正确。请提供发动机值。有关详细信息,请查看设置文档。 这意味着您需要在'/bugaga.com/bugaga.com/src/设置/设置.py'. 在这个框中(默认情况下是指)我们有DB的下一个设置:

一。在

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': '',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}

在使用PostgreSQL时,我可以为PostgreSQL提供DB模板:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'name_of_db',
        'USER': 'login_to_db',
        'PASSWORD': 'pass_to_db',
        'HOST': 'localhost',
        'PORT': '',
    }
}
  1. 如果您没有看到上面的错误,那么您应该看到下面的错误:

    在django.db.utils.ProgrammingError:关系“djangobb_forum_forum”不存在 第1行:…用户“.”是“活动的”,“授权用户”。“加入日期”来自“djangob”…

:)

  1. “跑”/管理.py迁移“

  2. 如果出现错误:

    在django.db.utils.ProgrammingError:关系“auth_user”不存在

->;“运行”/管理.py迁移身份验证

  1. 如果出现错误:

    psycopg2.ProgrammingError:关系“django_site”不存在 第1行:从“django_site”限制1中选择(1)作为“a”

->;“运行”/管理.py迁移站点'

  1. “跑”/管理.pymigrate'(它将rest应用程序全部迁移到一起,因此您不需要指定每个应用程序的名称)。

  2. “跑”/管理.py进行迁移“

  3. 再跑一次/管理.py迁移“

  4. 在浏览器中打开论坛之前,您需要有一个帐户(')/管理.pycreatesuperuser')否则将出现错误:

    • 在浏览器中:用户匹配查询不存在。在
    • 在控制台中:django.contrib.auth公司.模型.doesnotex:用户匹配查询不存在。在
  5. 同样为了避免错误:

    重要错误:没有名为'allauth.account.context_处理器'

->;打开'bugaga.com/bugaga.com/src/设置/设置.py'在模板_CONTEXT_PROCESSORS部分comment(by#)中,如下所示:

  #  'allauth.account.context_processors.account',
  #  'allauth.socialaccount.context_processors.socialaccount',
  1. 现在我们可以打开我们的论坛了,但是还有一个关于语言的问题。要修复此问题,请将cd保存到“/src/djangob_forum/”并运行“django admin compilemessages”

  2. 现在你可以跑了/管理.py运行服务器,欢迎来到djangob_论坛http://127.0.0.1:8000/forum/

相关问题 更多 >