私はすでに既存の Django Web サイトを持っています。メザニン ブログを作成したい新しい URL ルート '/blog/' を追加しました。スタンドアロンのブログ アプリケーションではなく、既存の Django サイトに Mezzanine をアプリとしてインストールできる場合。
質問する
4376 次
2 に答える
13
あなたが私のような人なら、メザニンをアプリとして機能させる方法についてのFAQの説明が非常に不足していることに気付くでしょう. それで、これを(ある程度)統合するために(ハッキングの苦痛な半日の後)私がしたことは次のとおりです。
- リポジトリをダウンロードしてプロジェクトにコピーします
- パッケージの setup.py を実行します
cd
をパッケージに追加し、mezzanine コマンドを実行して新しいアプリ (mezzanine-project <project name>
) を作成します。その名前blog
を<project_name>
.- またはファイルで、プロジェクトのデータベースを使用するように dict を設定し
local_settings.py
ます。settings.py
DATABASES
createdb
mezzaninemanage.py
ファイルからコマンドを実行します。
さあ、ハックフェストを始めましょう:
- プロジェクトの settings.py ファイルで、次のように追加
blog
しますINSTALLED_APPS
- 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
- 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", .... ```` - Mezzanine が期待する INSTALLED_APPS をいくつか追加します。
.... "mezzanine.boot", "mezzanine.conf", "mezzanine.core", "mezzanine.generic", "mezzanine.blog", "mezzanine.forms", "mezzanine.pages", "mezzanine.galleries", "mezzanine.twitter", ....
- タプル
のテンプレート フォルダーへの参照を追加
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'),
- 最後に、私のような場合は
extends
、メザニン テンプレートのパスのいくつかをオーバーライドする必要があります。最も明白なのは、単に拡張する "blog_post_list.html" にありbase.html
、代わりにメザニン固有のbase
ファイルを拡張する必要があります。そのファイルに移動して、 を に置き換え{% extends "base.html" %}
ます{% extends "core/templates/base.html" %}
。
于 2015-01-15T20:02:41.953 に答える
5
これについては、次の FAQ で説明されています。
TLDR: Mezzanine は、いくつかの設定、アプリ、ミドルウェア、およびコンテキスト プロセッサを追加します。これらはすべて、デフォルトの settings.py ファイルで定義されています。必要に応じて、それらを十分に抽出するだけです。
于 2013-03-27T19:44:45.377 に答える