Html不导入css文件

时间:2017-05-23 12:15:46

标签: html css django

愚蠢的问题,但我无法弄明白,这太过分了。在django项目中,在同一目录中我有base_template.html和base_style.css。在子文件夹中我有search.html。

base_template.html
base_style.css
folder---- 
          search.html

Search.html像这样扩展base_template.html

{% extends "base_template.html" %}

base_template.html 内导入 base_style.css

<!DOCTYPE html>
<html>
<head>
    <title>{% block title %} Base template {% endblock %}</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" type="text/css" href="base_style.css">
    <link rel="stylesheet" type="text/css" href="awesome_font.css">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Montserrat">
    <style>
    {% block Additional_Styles %}
    {% endblock %}
    </style>

并且没有办法。 **已经尝试过:

./base_style.css
 /base_style.css
 base_style.css"/**

如果我替换

<link rel="stylesheet" type="text/css" href="base_style.css">

使用:

<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">

它有效,css加载。我必须提一下,我刚从链接下载了css,并没有做任何修改。

为什么导入不起作用?

修改

settings.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'templates')],

 ....
STATIC_URL = '/static/'
PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')

所以base_template在MainDjangoApp \ templates

2 个答案:

答案 0 :(得分:2)

你应该将静态文件(.css,.js)放在应用程序内的静态文件夹中:

app
   static
       app 
          css
              base_style.css

在你的模板中你应该使用

{% load static %}

<link rel="stylesheet" type="text/css" href="{% static 'app/css/base_style.css' %}">

你一定要在djangoproject网站上阅读Writing your first Django app, part 6Managing static files (e.g. images, JavaScript, CSS)

答案 1 :(得分:0)

一个解决方案就是在文档中更改base_style.css的文件夹,但是我将其添加到了settings.py并且我得到了它的工作。我的应用程序并不复杂,所以我不会纠结于文件中。

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "templates"),
]