簡體   English   中英

如何安裝Mezzanine作為Django應用程序?

[英]How do I install Mezzanine as a Django app?

我已經有了一個現有的Django網站。 我添加了一個新的網址'/ blog /',我希望有一個Mezzanine博客。 如果可以將Mezzanine安裝為現有Django站點中的應用程序而不是獨立的博客應用程序。

如果你像我一樣,你會發現常見問題解答中非常缺乏如何讓Mezzanine作為應用程序工作的描述。 所以這就是我所做的(在一次痛苦的半天黑客攻擊之后)將其整合(有點):

  1. 下載倉庫並將其復制到您的項目中
  2. 運行包的setup.py
  3. cd到包並運行mezzanine命令來創建一個新的應用程序( mezzanine-project <project name> ),假設您使用名稱blog作為<project_name>
  4. local_settings.pysettings.py文件中,將DATABASES dict設置為使用項目的數據庫。
  5. 從夾層manage.py文件中運行createdb命令

現在是時候開始hack-fest了:

  1. 在項目的settings.py文件中,將blog添加到INSTALLED_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期待的一些中間件:````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. 添加Mezzanine期待的一些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" %} {% extends "core/templates/base.html" %}

這包含在常見問題解答中:

http://mezzanine.jupo.org/docs/frequently-asked-questions.html#how-can-i-add-mezzanine-to-an-existing-django-project

TLDR:Mezzanine添加了一些設置,應用程序,中間件和上下文處理器,都在其默認的settings.py文件中定義 - 您只需根據需要提取足夠的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM