我已经有一个现有的 Django 网站。我添加了一个新的 url 路由“/blog/”,我想在其中创建一个夹层博客。如果可以将 Mezzanine 安装为现有 Django 站点中的应用程序,而不是独立的博客应用程序。
4376 次
2 回答
13
如果您像我一样,您会发现常见问题解答中严重缺乏对如何让 Mezzanine 作为应用程序运行的描述。所以这就是我所做的(经过半天痛苦的黑客攻击)来整合它(有点):
- 下载 repo 并将其复制到您的项目中
- 为包运行 setup.py
cd到包并运行夹层命令以创建一个新应用程序(mezzanine-project <project name>),假设您使用名称blog作为您的<project_name>.- 在
local_settings.pyorsettings.py文件中,将DATABASESdict 设置为使用项目的数据库。 createdb从夹层manage.py文件运行命令
现在是开始 hack-fest 的时候了:
- 在项目的 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",
“夹层.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
常见问题解答中对此进行了介绍:
TLDR:Mezzanine 添加了一些设置、应用程序、中间件和上下文处理器,所有这些都在其默认的 settings.py 文件中定义——您只需要根据您的需要提取足够多的这些。
于 2013-03-27T19:44:45.377 回答