【问题标题】:my webpage displays nothing at all. No html,css or images,just keeps on loading我的网页什么也没有显示。没有 html、css 或图像,只是继续加载
【发布时间】:2021-01-15 15:41:57
【问题描述】:

我正在尝试使用 django 创建一个网站,但是当我使用加载静态文件时,它只加载但不显示任何内容。除此之外,它还为所有 css、图像和 javascript 文件显示“未找到”。任何帮助将不胜感激。项目布局如下。

这是html代码的一部分(完整的代码真的很长)。

<!DOCTYPE html>
<html lang="en">
<head>
    {%load static%}

    <title>LERAMIZ - Landing Page Template</title>
    <meta charset="UTF-8">
    <meta name="description" content="LERAMIZ Landing Page Template">
    <meta name="keywords" content="LERAMIZ, unica, creative, html">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- Favicon -->
    <link href="{% static 'Mainapp/img/favicon.ico'%}" rel="shortcut icon"/>

    <!-- Google Fonts -->
    <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro" rel="stylesheet">

    <!-- Stylesheets -->
    <link rel="stylesheet" href="{% static 'Mainapp/css/bootstrap.min.css'%}" />
    <link rel="stylesheet" href="{% static 'Mainapp/css/font-awesome.min.css'%}"/>
    <link rel="stylesheet" href="{% static 'Mainapp/css/animate.css'%}"/>
    <link rel="stylesheet" href="{% static 'Mainapp/css/owl.carousel.css'%}"/>
    <link rel="stylesheet" href="{% static 'Mainapp/css/style.css'%}"/>


</head>


</html>

这是 urls.py

from django.conf.urls.static import static
from django.urls import path

from . import views

urlpatterns = [
                  path('', views.index, name='index.html'),

              ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)


views.py


from django.shortcuts import render


def index(request):
    return render(request, 'Mainapp/index.html')

settings.py

import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))



DEBUG = True

ALLOWED_HOSTS = []

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'Mainapp',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]



TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]



# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.0/howto/static-files/

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

【问题讨论】:

    标签: javascript html css django static


    【解决方案1】:

    你是否在你的 django 项目目录中有你的静态目录。你不需要把它放在你的应用程序目录中。如果您没有,或者您的静态文件夹中没有名为 mainapp 的目录,则将静态标签更改为,

    <link rel="stylesheet" href="{% static 'css/bootstrap.min.css'%}" />
    <link rel="stylesheet" href="{% static 'css/font-awesome.min.css'%}"/>
    <link rel="stylesheet" href="{% static 'css/animate.css'%}"/>
    <link rel="stylesheet" href="{% static 'css/owl.carousel.css'%}"/>
    <link rel="stylesheet" href="{% static 'css/style.css'%}"/>
    

    所有人都喜欢这个

    【讨论】:

    • 我的静态目录中有一个 Mainapp 目录,它仍然显示“未找到”错误,在我的网页上它只是继续加载,根本没有显示任何内容。
    【解决方案2】:
    1. 它只是被剪掉了还是你没有结束头标签和开始身体标签?

    2. 在您的 urls.py 中。 path('', views.index, name='index.html') 只是为了让您知道它不引用 index.html 文件,它只是一个内部引用点,因此您可以将其命名为 name="homepage" 例如。

    3. Mainapp,假设您的模板存储在 app/templates/Mainapp/ 您必须将 'DIRS': [], 从 templates 更改为 'DIRS': ['templates '],

    4. 您也没有允许的主机集,因此您可能想要这样做。

    【讨论】:

    • 是的,很抱歉,当我剪掉它以减少代码量时发生这种情况。我已将 settings.py 中的模板更改为 'DIRS': ['templates'],没有区别。关于 url .py,我已经知道了。但是如果Debug=True,需要设置allowed_host。而且我也忘了在上面的代码中添加{%load static%},但没有区别。
    【解决方案3】:
    1. 它只是被剪掉了,还是你没有结束 head 标签和开始 body 标签?

    2. 在您的 urls.py 中。 path('', views.index, name='index.html') 只是为了让您知道它不引用 index.html 文件,它只是一个内部引用点,因此您可以将其命名为 name="homepage" 例如。

    3. Mainapp,假设您的模板存储在 app/templates/Mainapp/ 您必须将 'DIRS': [], 从 templates 更改为 'DIRS': ['templates '],

    4. 您也没有允许的主机集,因此您可能想要这样做。

    5. 确保在调用 {% static 'localtiontofile/staticfile' %} 的位置收集所有静态文件

    您能否将尝试在本地运行时收到的错误消息包含在内?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多