设置静态文件
问题描述:
问题是设置静态文件。设置静态文件
我按照官方文档说的设置文件。
我首先创建了一个名为static
在我的网址链接
然后我做了模板的一些变化app目录。
的代码如下:
#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">
答
在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文件和扩展base.html文件使用它像这样somefile.html:
{% extends "appname/base.html" %}
{% load static %}
在您的代码:
使用:
<link href="{% static "css/style.css" %}" rel="stylesheet">
这将解决问题。
答
您的模板代码有错误。您应该将链接标记改为:
<link rel="stylesheet" href="{% static 'css/style.css' %}" type="text/css">
什么是您的'STATICFILES_DIRS'设置?当'DEBUG'为'True'时,Django在'STATICFILES_DIRS'指向的文件夹中查找静态文件。 –
也可以在问题中添加项目的目录结构吗?在问题中,它说“在**应用程序**”中创建了一个名为'static'的目录。 **静态**目录通常在基础文件夹中创建,即与* manage.py *一起创建。 –
仍然不明白。 – honesty1997