Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django Wagtail在base.html中的静态路径之前添加子页面目录_Django_Django Templates_Wagtail - Fatal编程技术网

Django Wagtail在base.html中的静态路径之前添加子页面目录

Django Wagtail在base.html中的静态路径之前添加子页面目录,django,django-templates,wagtail,Django,Django Templates,Wagtail,我使用以下models.py文件设置了一个项目: """Flexible page.""" from django.db import models from wagtail.admin.edit_handlers import FieldPanel from wagtail.core.models import Page from wagtail.core.fields import RichTextField class Fle

我使用以下models.py文件设置了一个项目:

"""Flexible page."""
from django.db import models

from wagtail.admin.edit_handlers import FieldPanel
from wagtail.core.models import Page
from wagtail.core.fields import RichTextField

class FlexPage(Page):
    """Flexibile page class."""

    template = "flex/flex_page.html"

    # @todo add streamfields 
    # content = StreamField()

    subtitle = models.CharField(max_length=100, null=True, blank=True)
    Flexbody = RichTextField(blank=True)
    content_panels = Page.content_panels + [
        FieldPanel("subtitle"),
        FieldPanel('Flexbody', classname="full"),
        
    ]

    class Meta:  # noqa 
        verbose_name = "Flex Page"
        verbose_name_plural = "Flex Pages"
我还有一个“base.html”,它有如下静态路径:

<link rel="stylesheet" id="main-css" href="./static/SiteFiles/main.css" type="text/css" media="all">
<link rel="stylesheet" id="tether-css" href="./static/SiteFiles/Sitetether.css" type="text/css" media="all">
<link rel="stylesheet" id="bootstrap-css" href="./static/SiteFiles/bootstrap.min.css" type="text/css" media="all">
<link rel="stylesheet" id="font-awesome-css" href="./static/SiteFiles/font-awesome.css" type="text/css" media="all">
当我试图在子页面中扩展“base.html”文件时,它似乎在向我的路径添加一个目录。我不确定如何覆盖此行为。

路径,如
href=“./static/SiteFiles/main.css”
是相对于当前页面计算的,因此在URL为
/getting started/
的页面上,这将等于
/getting started/static/SiteFiles/main.css
;在URL为
/getting start/step-1/
的页面上,这将等于
/getting start/step-1/static/SiteFiles/main.css,依此类推。由于Wagtail中的页面排列在树中,并且可以存在于任何深度,因此像这样的相对路径通常是不可用的-适用于一个页面的路径不会适用于另一个页面

相反,Django提供了构建正确绝对路径的功能:

{% load static %}
<link rel="stylesheet" id="main-css" href="{% static 'SiteFiles/main.css' %}" type="text/css" media="all">
<link rel="stylesheet" id="tether-css" href="{% static 'SiteFiles/Sitetether.css' %}" type="text/css" media="all">
<link rel="stylesheet" id="bootstrap-css" href="{% static 'static/SiteFiles/bootstrap.min.css' %}" type="text/css" media="all">
<link rel="stylesheet" id="font-awesome-css" href="{% static 'static/SiteFiles/font-awesome.css' %}" type="text/css" media="all">
{%load static%}

static很可能是问题的根源。尝试更改为“/static/SiteFiles/”,然后查看问题是否得到解决。
{% load static %}
<link rel="stylesheet" id="main-css" href="{% static 'SiteFiles/main.css' %}" type="text/css" media="all">
<link rel="stylesheet" id="tether-css" href="{% static 'SiteFiles/Sitetether.css' %}" type="text/css" media="all">
<link rel="stylesheet" id="bootstrap-css" href="{% static 'static/SiteFiles/bootstrap.min.css' %}" type="text/css" media="all">
<link rel="stylesheet" id="font-awesome-css" href="{% static 'static/SiteFiles/font-awesome.css' %}" type="text/css" media="all">