Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将Djangob集成到现有项目中?_Python_Django_Forum - Fatal编程技术网

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

Python 如何将Djangob集成到现有项目中?,python,django,forum,Python,Django,Forum,这是Djangob支持中提到的安装指南。安装requirements.txt后,我被卡住了。如何将Djangob集成到现有项目中。Django noob在这里,因此需要帮助 在这里你可以找到我两个月前写的指南。现在我看到这个指南可以少走几步,但它并没有改变结果:)所以我不认为有什么理由重新编写它。阅读指南后,如果您有任何问题,请询问 目前,Djangob由2 Git组成: 应用程序本身的3个分支(稳定、默认和bootstrap3) 项目的2个分支(默认值和dimka665/********)

这是Djangob支持中提到的安装指南。安装requirements.txt后,我被卡住了。如何将Djangob集成到现有项目中。Django noob在这里,因此需要帮助

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


目前,Djangob由2 Git组成:

  • 应用程序本身的3个分支(稳定、默认和bootstrap3)
  • 项目的2个分支(默认值和dimka665/********)
在本教程中,我们将使用djangob的粗体版本

1) stable/default/botstrap3-意味着Djangob_论坛本身就是一个应用程序。 Stable branch拥有最新版本的代码,因此让我们使用它

2) 默认-Django的框架项目结构,包含启动“Djangob_论坛应用程序”所需的所有设置(url.py、settings.py、模板等)。这只是项目框架(类似于./manage.py startproject),这里不包括Djangob_论坛应用程序

让我们下载这两个档案,提取它们,为方便起见,将我们得到的两个文件夹(都有原始名称“slav0nic Djangob-***”)重命名为Djangob_应用程序(用于“稳定”应用程序的分支)和Djangob_项目(用于“默认”项目的分支)。(我们将合并两个档案的文件\数据)


安装

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

现在Djangob_论坛要求如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'name_of_db',
        'USER': 'login_to_db',
        'PASSWORD': 'pass_to_db',
        'HOST': 'localhost',
        'PORT': '',
    }
}
  • Django>=1.6、=2.1.0、=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)

将Djangobèu论坛集成到现有项目的最大问题是设置,因为不同用户的设置不同。我向您展示了我的结构作为示例,准备了urls.py和settings.py,让您可以轻松地将新设置与项目集成,并提供所有必要的解释。在使用下面的settings.py之前,您需要使用数据库设置更改数据库部分。下面还有更多内容,您将看到第二个屏幕,其中包含文件夹\文件的标签,这些标签解释了在中更改settings.py的内容,因为您肯定有另一个绝对路径,也可能有另一个相对路径

还需要指出的是,在屏幕上,您将看到3个其他文件(默认设置为\u settings.py、development.py、production.py),而不是“settings/settings.py”文件。在手册中,说“settings.py”,我指的是你的“settings.py”文件,不管它调用什么,而不是屏幕上的文件

我们准备接受Djangob_论坛的项目的初始结构(app_显示了_和_时间,app_位置仅用于让我们添加Djangob_论坛的现有项目有感觉):

/src/bugaga/url.py

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
/src/bugaga/settings/development.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)

(0)假设我们在VirtualEnvironment中的某个地方有project_name/src文件夹(应该已经安装了(自v3.4以来Python的正确内置功能)),我们将使用它作为项目文件夹

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

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

  • 抄袭 Djangob_项目/basic_项目/forms.py 到 /bugaga.com/bugaga.com/src/settings/

  • 抄袭 Djangob_应用程序/下一步:

    • “Djangob_论坛”文件夹
    • “requirements.txt”文件
    • “requirements_optional.txt”文件 到 /bugaga.com/bugaga.com/src/
  • 现在您应该有了下一个结构(用黑色箭头标记的新内容)

  • 激活您的virtenv(请参见第0步)

  • cd到“/bugaga.com/bugaga.com/src/”(这是我的项目路径)

  • 运行'pip install-r requirements.txt'(很久以前也应该安装pip)

  • 运行“pip安装-r要求\u optional.txt”

  • 运行“pip安装django nocaptcha recaptcha”

  • 运行“pip安装嗖嗖”

  • 在“/bugaga.com/bugaga.com/src/”中创建一个文件“secret.txt”,并将您喜欢的任意字符串放入其中,例如“asd423llkmasdi2”

  • 现在尝试“/manage.py runsever”并打开。如果出现如下错误: 设置。数据库配置不正确。请提供发动机值。有关详细信息,请查看设置文档。 这意味着您需要在“/bugaga.com/bugaga.com/src/settings/settings.py”中正确设置数据库。 在该框中(默认情况下是指),我们有DB的下一个设置:

  • 由于我使用PostgreSQL,我可以为PostgreSQL提供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.
        }
    }
    
  • 如果您没有看到上面的错误,那么您应该看到下面的错误:

    django.db.utils.ProgrammingError:关系“Djangob\u forum\u forum”不存在 第1行:…用户“.”处于活动状态“,”验证用户“,”加入日期“,”来自“Djangob”

  • :)

  • 运行“./manage.py migrate”

  • 如果出现错误:

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

  • ->运行“./manage.py migrate auth”

  • 如果出现错误:

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

  • ->运行“./manage.py”
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': 'name_of_db',
            'USER': 'login_to_db',
            'PASSWORD': 'pass_to_db',
            'HOST': 'localhost',
            'PORT': '',
        }
    }
    
      #  'allauth.account.context_processors.account',
      #  'allauth.socialaccount.context_processors.socialaccount',