2013-03-27 29 views
14

我已經有一個現有的Django網站。我已經添加了一個新的url路徑'/ blog /',我想在這裏有Mezzanine博客。如果可以在現有的Django站點中安裝Mezzanine作爲應用程序,而不是獨立的博客應用程序。如何將Mezzanine作爲Django應用程序安裝?

+0

我已經嘗試過這一點,沒有運氣;想知道如何實現這一點。 Mezzanine是一個CMS,它有它唯一的運行服務器等等。我相信這是不可能的。 – karthikr 2013-03-27 19:21:05

回答

10

如果你和我一樣,你會發現FAQ對如何讓Mezzanine作爲應用程序工作的描述非常缺乏。因此,這裏是我做過什麼(盜號的痛苦半天之後)得到它集成(有點):

  1. 下載回購並把它複製到你的項目
  2. 運行setup.py的包
  3. cd,然後運行夾層命令創建一個新應用程序(mezzanine-project <project name>),假設您使用名稱blog作爲您的<project_name>
  4. local_settings.pysettings.py文件中,將DATABASES字典設置爲使用項目的數據庫。
  5. 從夾層運行createdb命令manage.py文件

現在是時候開始下鍋巨星:

  1. 在項目的settings.py文件,添加blogINSTALLED_APPS
  2. 將一些配置變量添加到Mezzanine期望的settings.py中: PACKAGE_NAME_FILEBROWSER = "filebrowser_safe" PACKAGE_NAME_GRAPPELLI = "grappelli_safe" GRAPPELLI_INSTALLED = False ADMIN_REMOVAL = [] RATINGS_RANGE = range(1, 5) TESTING = False BLOG_SLUG = '' COMMENTS_UNAPPROVED_VISIBLE = True COMMENTS_REMOVED_VISIBLE = False COMMENTS_DEFAULT_APPROVED = True COMMENTS_NOTIFICATION_EMAILS = ",".join(ALL_EMAILS) COMMENT_FILTER = None
  3. 添加一些中間件夾層期待: ```` ... 「mezzanine.core.request.CurrentRequestMiddleware」, 「mezzanine.core.middleware.RedirectFallbackMiddleware」, 「mezzanine.core.middleware。 TemplateForDeviceMiddleware」, 「mezzanine.core.middleware.TemplateForHostMiddleware」, 「mezzanine.core.middleware.AdminLoginInterfaceSelectorMiddleware」, 「mezzanine.core.middleware.SitePermissionMiddleware」,

    取消註釋如果使用任何SSL設置如下:

    「mezzanine.core.middleware.SSLRedirectMiddleware」,

    「mezzanine.pages.middleware.PageMiddleware」, .... ````
  4. 添加一些INSTALLED_APPS是夾層期待: .... "mezzanine.boot", "mezzanine.conf", "mezzanine.core", "mezzanine.generic", "mezzanine.blog", "mezzanine.forms", "mezzanine.pages", "mezzanine.galleries", "mezzanine.twitter", ....
  5. 加入的mezzanine模板文件夾,引用您的TEMPLATE_DIRS元組 os.path.join(BASE_PARENT, '<path to mezzanine>/mezzanine/mezzanine'), os.path.join(BASE_PARENT, '<path to mezzanine>/mezzanine/mezzanine/blog/templates'),
  6. 最後,如果你像我一樣,你必須覆蓋夾層模板中的一些extends路徑,最明顯的是在「blog_post_list.html」中,它只是擴展了base.html,而不是您想要擴展夾層特定的base文件。所以去那個文件並且用{% extends "core/templates/base.html" %}代替{% extends "base.html" %}
+0

您好,我運行setup.py的時候得到這個問題: 從 ':無法讀取的/ var /郵件/ setuptools的 來自:看不懂的/ var /郵件/ shutil 來自:看不懂/ var/mail/mezzanine ./setup.py:line 9:exclude:command not found ./setup.py:line 10:mezzanine/project_template/project_name/local_settings.py]:沒有這樣的文件或目錄 ./ setup.py:第13行:語法錯誤附近的意外令牌(' ./setup.py:第13行:exclude = dict([(e,None)for e in exclude])' 有什麼想法? – vabada 2016-05-05 14:57:22

相關問題