2016-11-23 262 views
-1

问题是设置静态文件。设置静态文件

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

我首先创建了一个名为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"> 

+0

什么是您的'STATICFILES_DIRS'设置?当'DEBUG'为'True'时,Django在'STATICFILES_DIRS'指向的文件夹中查找静态文件。 –

+0

也可以在问题中添加项目的目录结构吗?在问题中,它说“在**应用程序**”中创建了一个名为'static'的目录。 **静态**目录通常在基础文件夹中创建,即与* manage.py *一起创建。 –

+0

仍然不明白。 – honesty1997

回答

0

在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"> 

这将解决问题。

0

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

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