【问题标题】:Setting static file设置静态文件
【发布时间】:2017-04-07 21:03:27
【问题描述】:

问题在于设置静态文件。

我按照官方文档说的设置文件。

我首先在我的 URL 链接到的应用程序中创建了一个名为 static 的目录

然后我对模板做了一些修改。

代码如下:

#Structure
src
|---makesite
|---sitemaker(app)
|---templates
|        |----main.html                 
|        |----static
|                |-css
|                   |-style.css 
|-static
|-manage.py

#The settings.py
STATIC_URL = '/static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),]
STATIC_ROOT = os.path.join(BASE_DIR,"templates/static")

#The urls.py
from django.conf.urls import url
from django.contrib import admin
from makesite.views import make_site
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^main/',make_site),
]
if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, documents_root=settings.STATIC_ROOT)

#The File structure


#The template
<!DOCTYPE html>
{% load staticfiles %}
<html>
<head>
<title>Main Site</title>
<link rel='stylesheet prefetch' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css'>
<link rel= "{% static %}'css/style.css'" href="style.css">

【问题讨论】:

  • 您的STATICFILES_DIRS 设置是什么?当DEBUGTrue 时,Django 在STATICFILES_DIRS 指向的文件夹中查找静态文件。
  • 你也可以在问题中添加你项目的目录结构吗?在问题中,它说“在 app 中创建了一个名为 'static' 的目录”。 static 目录通常在基本文件夹中创建,即在 manage.py 旁边。
  • 还是没弄好。
  • 我创建了两个静态目录,一个在我的应用程序中,另一个在基本文件夹中。我仍然无法加载静态文件。
  • 您的STATICFILES_DIRS 设置是什么?

标签: python django django-templates


【解决方案1】:

在settings.py文件中:

STATIC_URL = '/static/'

要加载 .html 中的静态文件,只需使用:

{% load static %}

在文件顶部使用 {% load static %} 总是更好。

{% load static %}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{% block title %}My Website{% endblock %}</title>

假设你有 base.html 和 somefile.html 扩展 base.html 像这样使用它:

{% extends "appname/base.html" %}
{% load static %}

在您的代码中:

使用:

<link href="{%  static "css/style.css" %}" rel="stylesheet">

这样就解决了问题。

【讨论】:

    【解决方案2】:

    您的模板代码中有错误。您应该将链接标记重写为:

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

    【讨论】:

      猜你喜欢
      • 2014-06-02
      • 2020-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-30
      • 2017-08-08
      • 2020-08-31
      相关资源
      最近更新 更多