跳转到主要内容

为django CMS提供的django-multisite支持

项目描述

django-multisite 支持DjangoCMS

Join the Gitter chat Latest PyPI version Python versions Latest Travis CI build status Test coverage Test coverage Code Climate License

支持

支持的 Django 版本

  • Django 3.0

  • Django 2.2

支持的 django CMS 版本

  • django CMS 3.7

假设

  1. 虚拟环境运行正常

  2. DjangoCMS 正在工作

安装

pip install djangocms-multisite

用法

  1. 打开您的 settings.py 文件

  2. 我们需要添加 django-multisite 的配置

    • 将 SITE_ID 的值替换为 SiteID 函数

      from multisite import SiteID
      SITE_ID = SiteID(default=1)
    • multisite, djangocms_multisite 添加到 INSTALLED_APPS

      INSTALLED_APPS=[
          ...
          'multisite',
          'djangocms_multisite',
          ...
      ]
    • 将那些加载器添加到 TEMPLATES 设置中

      TEMPLATES = [
          ...
          {
              ...
              'DIRS': {...}
              'OPTIONS': {
                  'loaders': (
                      'multisite.template.loaders.filesystem.Loader',
                      'django.template.loaders.app_directories.Loader',
                  )
              }
              ...
          }
          ...
      ]
    • 对于其他设置(缓存等),请查看 django-multisite 页面

  3. multisite.middleware.DynamicSiteMiddlewaredjangocms_multisite.middleware.CMSMultiSiteMiddleware 添加到 MIDDLEWARE_CLASSES。顺序很重要:multisite.middleware.DynamicSiteMiddleware 必须在 cms.middleware.utils.ApphookReloadMiddleware 之前应用,而 djangocms_multisite.middleware.CMSMultiSiteMiddleware 必须紧随其后

    MIDDLEWARE_CLASSES = [
        ...
        'multisite.middleware.DynamicSiteMiddleware',
        'cms.middleware.utils.ApphookReloadMiddleware',
        'djangocms_multisite.middleware.CMSMultiSiteMiddleware',
        ...
    ]
  4. 按照以下方式配置URL映射。tests.test_utils.urls1路径可以是您项目中已有的主要urlconf文件。如果需要相同的结构,它也可以适用于所有域名。

    MULTISITE_CMS_URLS={
        'www.example.com': 'tests.test_utils.urls1',
        'www.example2.com': 'tests.test_utils.urls2',
    }
    MULTISITE_CMS_ALIASES={
        'www.example.com': ('alias1.example.com', 'alias2.example.com',),
        'www.example2.com': ('alias1.example2.com', 'alias2.example2.com',),
    }
    MULTISITE_CMS_FALLBACK='www.example.com'
  5. 运行 python manage.py makemigrations

  6. 运行 python manage.py migrate 以应用django-multisite迁移

设置说明

MULTISITE_CMS_URLS

字典(或OrderedDict),包含域名(在django sites中配置)与相应的urlconf之间的映射。

MULTISITE_CMS_FALLBACK

如果上述任何一项不匹配,则加载的默认域名。

MULTISITE_CMS_ALIASES

字典(或OrderedDict),包含域名(在django sites中配置)与别名列表之间的映射。如果所有别名都配置为django-multisite别名,则此为可选。

故障排除

  • MULTISITE_CMS_URLS中的域名必须与您在数据库中创建的相同(通过Home › Sites › Sites中的界面)。

历史记录

0.3.1(未发布)

  • 修复历史格式问题,防止正确的pypi发布

0.3.0 (2020-07-05)

  • 添加Django 2.2 / django CMS 3.7+支持

  • 删除旧版本的Django / django CMS

0.2.0 (2018-09-25)

  • 添加Django 1.11 / django CMS 3.4+支持

  • 删除旧版本的Django / django CMS

  • 改进文档

0.1.0(未发布)

  • 首个实验性版本

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

djangocms-multisite-0.3.1.tar.gz (7.1 kB 查看哈希)

上传时间

构建分布

djangocms_multisite-0.3.1-py2.py3-none-any.whl (5.5 kB 查看哈希)

上传时间 Python 2 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面