我已经有一个Django网站了。我添加了一个新的url路由“/blog/”,我想在其中创建一个夹层博客。如果可以在现有的Django站点中安装夹层作为应用程序,而不是独立的博客应用程序。

最佳答案

如果你像我一样,你会发现FAQ在如何让夹层作为一个应用程序工作的描述中非常缺乏。因此,以下是我(在经历了痛苦的半天黑客攻击之后)为使其集成(在某种程度上)所做的:
下载repo并将其复制到您的项目中
为包运行setup.py
cd到包并运行mezzanine命令来创建一个新的应用程序(mezzanine-project <project name>),假设您使用名称blog作为您的<project_name>
local_settings.pysettings.py文件中,设置DATABASESdict以使用项目的数据库。
从夹层文件运行createdb命令
现在是时候开始黑客活动了:
在项目的settings.py文件中,将manage.py添加到blog
向夹层期望的settings.py添加一些配置变量:
INSTALLED_APPS
添加一些夹层所期望的中间件:
` ` `

“夹层.核心.请求.当前请求中间件”,
“夹层.核心.中间件.重定向回退中间件”,
“夹层.core.middleware.templateForDeviceMiddleware”,
“夹层.core.middleware.templateforhostmiddleware”,
“夹层.core.middleware.adminloginInterfaceSelectorIddleware”,
“夹层.核心.中间件.站点许可中间件”,
如果使用任何SSL设置,请取消注释以下内容:
“夹层.核心.中间件.sslRedirectMiddleware”,
“夹层.pages.middleware.pagemiddleware”,

` ` `
添加一些夹层预期安装的应用程序:
PACKAGE_NAME_FILEBROWSER = "filebrowser_safe"PACKAGE_NAME_GRAPPELLI = "grappelli_safe"GRAPPELLI_INSTALLED = FalseADMIN_REMOVAL = []RATINGS_RANGE = range(1, 5)TESTING = FalseBLOG_SLUG = ''COMMENTS_UNAPPROVED_VISIBLE = TrueCOMMENTS_REMOVED_VISIBLE = FalseCOMMENTS_DEFAULT_APPROVED = TrueCOMMENTS_NOTIFICATION_EMAILS = ",".join(ALL_EMAILS)COMMENT_FILTER = None
将对模板文件夹的引用添加到您的...."mezzanine.boot","mezzanine.conf","mezzanine.core","mezzanine.generic","mezzanine.blog","mezzanine.forms","mezzanine.pages","mezzanine.galleries","mezzanine.twitter",....元组中
mezzanine
最后,如果您像我一样,您必须覆盖夹层模板中的一些TEMPLATE_DIRS路径,最明显的路径是“blog-post-list.html”,它只扩展了os.path.join(BASE_PARENT, '<path to mezzanine>/mezzanine/mezzanine'),os.path.join(BASE_PARENT, '<path to mezzanine>/mezzanine/mezzanine/blog/templates'),,而您希望它扩展夹层特定的extends文件。因此,转到该文件并将base.html替换为base

09-26 05:35