2016-11-23 218 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">