Django CMS - 无法修改新添加网页的结构
Django CMS - Unable to modify structure of a newly added webpage
我是 Django CMS 的新手,一直被这个问题困扰。
我向现有的 Django 项目添加了一个新模块并创建了一个新的 Html 页面。这是settings.py
中的模板配置
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'site_cms', 'templates'),
],
'OPTIONS': {
'context_processors': [
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.template.context_processors.i18n',
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.template.context_processors.media',
'django.template.context_processors.csrf',
'django.template.context_processors.tz',
'sekizai.context_processors.sekizai',
'django.template.context_processors.static',
'cms.context_processors.cms_settings',
'core.context_processors.request_info',
],
'loaders': [
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
'django.template.loaders.eggs.Loader'
],
},
},
]
在新页面中,我正在扩展网站的主页,就像我看到其他页面所做的那样。这是首页 home.html (/core/templates/core/home.html):
{% load i18n easy_thumbnails_tags static %}
<!DOCTYPE html>
<html lang="en">
<head>
{% load staticfiles i18n menu_tags%}
</head>
<main>
<div class="container">
{% block content %}
这是我的新页面newpage.html (/newpage/templates/newpage/newpage.html)
{% extends "home.html" %}
{% load easy_thumbnails_tags i18n static core_filters bootstrap4 %}
{% block content %}
{% load bootstrap4 %}
<div class="container">
创建新页面后,我通过 Django CMS 栏将其添加到网站主菜单。我将页面模板选择为父级(家庭)使用的模板。我看到这只在数据库中进行更改。好的,现在我在主页菜单和 Django CMS 模块中有了这个页面。
我遇到的问题是我无法从 Django CMS 栏编辑页面的结构。当我点击“编辑”按钮时,我看到结构图标 (www.localhost:8000/newpage/?structure),但该按钮未激活。我希望能够将小部件添加到此页面。我该怎么做?如何激活修改结构的可能性?
在这个项目中,我看到一些页面可以修改页面结构,而另一些则没有。也许相关,当我用这种可能性检查其他页面的来源时,我看到:
'request': {
'language': 'en',
'model': 'cms.page',
'page_id': '3',
'pk': '3',
'url': '/admin/cms/page/resolve/',
'toolbar': '/admin/cms/usersettings/cms-toolbar/'
},
在我的新页面上我看到:
'request': {
'language': 'en',
'model': '',
'page_id': '103',
'pk': '',
'url': '/admin/cms/page/resolve/',
'toolbar': '/admin/cms/usersettings/cms-toolbar/'
},
我使用 Python 3.6.9、Django 1.11.17 和 django-cms 3.5.3。
我知道我可能会遗漏一些相关的 info/code 来展示。请问一下,我会post.
您需要加载 CMS 的可编辑部分。这主要是一个占位符,以便您可以通过结构视图添加内容。
将 newpage.html
更改为类似的内容;
{% extends "home.html" %}
{% load cms_tags easy_thumbnails_tags i18n static core_filters bootstrap4 %}
{% block content %}
{% load bootstrap4 %}
<div class="container">
{% placeholder "content" %}
</div>
{% endblock %}
现在您将在结构视图中看到一个名为“内容”的占位符,您可以向其添加插件。
我是 Django CMS 的新手,一直被这个问题困扰。
我向现有的 Django 项目添加了一个新模块并创建了一个新的 Html 页面。这是settings.py
中的模板配置TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'site_cms', 'templates'),
],
'OPTIONS': {
'context_processors': [
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.template.context_processors.i18n',
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.template.context_processors.media',
'django.template.context_processors.csrf',
'django.template.context_processors.tz',
'sekizai.context_processors.sekizai',
'django.template.context_processors.static',
'cms.context_processors.cms_settings',
'core.context_processors.request_info',
],
'loaders': [
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
'django.template.loaders.eggs.Loader'
],
},
},
]
在新页面中,我正在扩展网站的主页,就像我看到其他页面所做的那样。这是首页 home.html (/core/templates/core/home.html):
{% load i18n easy_thumbnails_tags static %}
<!DOCTYPE html>
<html lang="en">
<head>
{% load staticfiles i18n menu_tags%}
</head>
<main>
<div class="container">
{% block content %}
这是我的新页面newpage.html (/newpage/templates/newpage/newpage.html)
{% extends "home.html" %}
{% load easy_thumbnails_tags i18n static core_filters bootstrap4 %}
{% block content %}
{% load bootstrap4 %}
<div class="container">
创建新页面后,我通过 Django CMS 栏将其添加到网站主菜单。我将页面模板选择为父级(家庭)使用的模板。我看到这只在数据库中进行更改。好的,现在我在主页菜单和 Django CMS 模块中有了这个页面。
我遇到的问题是我无法从 Django CMS 栏编辑页面的结构。当我点击“编辑”按钮时,我看到结构图标 (www.localhost:8000/newpage/?structure),但该按钮未激活。我希望能够将小部件添加到此页面。我该怎么做?如何激活修改结构的可能性?
在这个项目中,我看到一些页面可以修改页面结构,而另一些则没有。也许相关,当我用这种可能性检查其他页面的来源时,我看到:
'request': {
'language': 'en',
'model': 'cms.page',
'page_id': '3',
'pk': '3',
'url': '/admin/cms/page/resolve/',
'toolbar': '/admin/cms/usersettings/cms-toolbar/'
},
在我的新页面上我看到:
'request': {
'language': 'en',
'model': '',
'page_id': '103',
'pk': '',
'url': '/admin/cms/page/resolve/',
'toolbar': '/admin/cms/usersettings/cms-toolbar/'
},
我使用 Python 3.6.9、Django 1.11.17 和 django-cms 3.5.3。 我知道我可能会遗漏一些相关的 info/code 来展示。请问一下,我会post.
您需要加载 CMS 的可编辑部分。这主要是一个占位符,以便您可以通过结构视图添加内容。
将 newpage.html
更改为类似的内容;
{% extends "home.html" %}
{% load cms_tags easy_thumbnails_tags i18n static core_filters bootstrap4 %}
{% block content %}
{% load bootstrap4 %}
<div class="container">
{% placeholder "content" %}
</div>
{% endblock %}
现在您将在结构视图中看到一个名为“内容”的占位符,您可以向其添加插件。