Django CMS无法修改新添加网页的结构

2024-06-16 14:10:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Django CMS的新手,我被这个问题困扰着

我向现有的Django项目添加了一个新模块,并创建了一个新的Html页面。这是设置.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。 我知道我可能会错过一些相关的信息/代码来显示。请问,我会发帖的


Tags: djangocorecmsrequesthtmlcontextpagetemplate
1条回答
网友
1楼 · 发布于 2024-06-16 14:10:56

您需要加载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 %}

现在,您将在结构视图中看到一个名为“content”的占位符,您可以向其中添加插件

相关问题 更多 >