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
|
<link rel= "stylesheet" href= "/static/style.css" > |
直接写/static/下的文件,就可以引用了!
重新运行你的项目,打开浏览器看看。静态资源文件加载成功!
分类:
Python常用方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了