Django 1.10 找不到静态资源解决方法

测试版本:Django 1.10

问题:Django项目找不到静态资源

 

解决方法:

1.首先你需要在自己的app下面创建2个目录 static 和  templates

树形结构如下(DjangoProject 是我的项目名  blogs 是app名,要创建的目录在blogs下)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
DjangoProject/
├── db.sqlite3
├── manage.py
├── DjangoProject
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   ├── wsgi.py
├── blogs
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   ├── __init__.py
│   ├── models.py
│   ├──  static
│   │   └── style.css
│   ├── templates
│   │   └── index.html
│   ├── tests.py
│   ├── views.py
└── templates

 static下存放静态文件,templates下存放网页模板文件

2.修改setting.py

找到  STATIC_URL = '/static/'  在后面追加一行,然后保存

1
STATIC_ROOT = os.path. join (BASE_DIR,  'static' )

 最后保存好的样子是这样的(红色部分为修改的):

1
2
3
4
5
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.10/howto/static-files/
 
STATIC_URL =  '/static/'
STATIC_ROOT = os.path. join (BASE_DIR,  'static' )

 3.修改 urls.py

在urls.py中导入2个库

1
2
from  django.conf import settings
from  django.conf.urls. static  import  static

 并在结尾追加

1
static (settings.STATIC_URL, document_root = settings.STATIC_ROOT)

 最后保存好是这个样子的(红色部分为修改的):

1
2
3
4
5
6
7
from  django.conf.urls import url
from  django.contrib import adminform blogs import views  as  blogs_views
from  django.conf import settings
from  django.conf.urls. static  import  static
urlpatterns = [
     url(r '^admin/' , admin.site.urls),   url(r '^$' , blogs_views.index),
] +  static (settings.STATIC_URL, document_root = settings.STATIC_ROOT)

 

4.重新运行你的项目

切记静态文件全都放在 static下面,网页模板文件全都放在 templates下面

最后网页里引用

1
"stylesheet"  href= "/static/style.css" >

 直接写/static/下的文件,就可以引用了!

重新运行你的项目,打开浏览器看看。静态资源文件加载成功!

你可能感兴趣的:(Django 1.10 找不到静态资源解决方法)