Django静态资源URL STATIC_ROOT的配置方法
程序员文章站
2022-05-14 23:46:10
...
缘由
新手学习 Django 当配置好 HTML 页面后,就需要使用一些静态资源,如图片,JS 文件,CSS 样式等,但是 Django 里面使用这些资源并不是直接引用一下就好,还要配置路径即 STATIC_URL 如果这个配置不好的话,请求这些静态资源将返回 HTTP 404 。
经验传授
1. 输出 settings.py 文件里面的 STATIC_URL 到HTML页面,看一下物理路径指向了哪些,通常是不是跑出根目录的。这里给个DEMO:
复制代码 代码如下:
def home(request):
t = get_template("index.html")
html = t.render(Context({
"template_dir":settings.TEMPLATE_DIRS[0],
"title":"Home",
"static_dir":settings.STATIC_ROOT}))
return HttpResponse(html)
def home(request):
t = get_template("index.html")
html = t.render(Context({
"template_dir":settings.TEMPLATE_DIRS[0],
"title":"Home",
"static_dir":settings.STATIC_ROOT}))
return HttpResponse(html)
这样访问的HTML页面就可以看到这些路径了。
2. 配置 STATIC_ROOT 变量
复制代码 代码如下:
STATIC_ROOT = os.path.join(os.path.dirname(__file__), '..', 'templates/content').replace('\\','/')
STATIC_ROOT = os.path.join(os.path.dirname(__file__), '..', 'templates/content').replace('\\','/')
可能通过调整第二个和第三个参数来将路径修改正确。(多调试)
3. 在 urls.py 文件中配置 urlpatterns 变量(主要看高亮这一行):
复制代码 代码如下:
urlpatterns = patterns('',
url(r'^$', home),
url(r'^static/(?P.*)$','django.views.static.serve',{'document_root':settings.STATIC_ROOT}),
)
urlpatterns = patterns('',
url(r'^$', home),
url(r'^static/(?P
)
4. 测试以上配置:
复制代码 代码如下:
{{ title }} - Oger
{{ title }} - Oger
{% load staticfiles %}
[/code]
或
{% load staticfiles %}
[/code]
这两种用法都是可以的。
用 Django 开发Web站点还是很方便的。继续学习中...
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论